jquery - 将 XPath 选择器转换为 jQuery

标签 jquery html xpath automated-tests

对于给定的(不完整的)HTML 表格:

<tr>
    ...
</tr>
<tr>
    <td><input type="radio"></td>
    <td>Red Hot Chili Peppers</td>
    <td></td>
</tr>
<tr>
    <td><input type="radio"></td>
    <td>Britney Spears</td>
    <td></td>
</tr>
<tr>
    ...
</tr>

我使用 xpath 选择器 //td[contains(., 'Red Hot Chili Peppers')]//preceding-sibling::td//input 单击单选按钮。

问题是 xpath 在我正在测试的页面上有时不稳定。我想切换到 jQuery。

如何在 jQuery 中执行此操作?

最佳答案

等效的 jQuery 将使用 :containsprev()find(),如下所示:

$('td:contains("Red Hot Chili Peppers")').prev('td').find('input')

$('td:contains("Red Hot Chili Peppers")').prev('td').find('input').prop('checked', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td><input type="radio"></td>
    <td>Red Hot Chili Peppers</td>
    <td></td>
  </tr>
  <tr>
    <td><input type="radio"></td>
    <td>Britney Spears</td>
    <td></td>
  </tr>
</table>

关于jquery - 将 XPath 选择器转换为 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52368569/

相关文章:

html - 是否可以在 li 上定义最小填充?

javascript - 如何将父div高度继承给它的 child

sql - 插入时丢失特殊字符

javascript - xpath 评估多个元素值

javascript - 无法使用 AJAX 下载 TCPDF 生成的 PDF

javascript - 帮助理解 twitters widget.js 文件,闭包中的闭包?

jQuery - 删除特定子元素之前的所有子元素

javascript - 可编辑元素,覆盖原始文本不起作用(x-可编辑)

html - CSS网格布局,简单的响应式设计

javascript - 在 dom 中使用 xpath 查找包含单词的文本节点