Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 选择具有特定内容的元素作为直接子节点_Jquery - Fatal编程技术网

Jquery 选择具有特定内容的元素作为直接子节点

Jquery 选择具有特定内容的元素作为直接子节点,jquery,Jquery,我想选择每个有特定文本作为内容的单元格。我是这样做的: $("td:contains('Some Text')") 但在下面的标记中,该表达式找到两个tds: 我只想要实际包含文本的单元格,而不是包含在其中一个单元格中包含文本的表的单元格 如何修改选择器以达到目标?尝试以下操作: $("td:not(:has(*)):contains('Some Text')") 试试这个: $("td:not(:has(*)):contains('Some Text')") 如果您只想通过更改选择器来实

我想选择每个有特定文本作为内容的单元格。我是这样做的:

$("td:contains('Some Text')")
但在下面的标记中,该表达式找到两个tds:

我只想要实际包含文本的单元格,而不是包含在其中一个单元格中包含文本的表的单元格

如何修改选择器以达到目标?

尝试以下操作:

$("td:not(:has(*)):contains('Some Text')")
试试这个:

$("td:not(:has(*)):contains('Some Text')")

如果您只想通过更改选择器来实现这一点,您可以始终执行$table table td:contains'Some Text'

演示:

更好的替代方法是为内部表提供一个ID

<table>
  <tr>
    <td>
      <table id="innerTable">
        <tr>
          <td>Some Text</td>
        </tr>
      </table>
    </td>
  </tr>
</table>


//JS
$('#innerTable').find("td:contains('Some Text')");

如果您只想通过更改选择器来实现这一点,您可以始终执行$table table td:contains'Some Text'

演示:

更好的替代方法是为内部表提供一个ID

<table>
  <tr>
    <td>
      <table id="innerTable">
        <tr>
          <td>Some Text</td>
        </tr>
      </table>
    </td>
  </tr>
</table>


//JS
$('#innerTable').find("td:contains('Some Text')");

谢谢,但这是通往静电的路。我不知道td是否总是被放在两张桌子里。我的标记仅用于演示目的。然后您应该看到我更新的回复:添加ID。此外,类似的详细信息应张贴在问题中,以便我们能够适当地帮助您。谢谢,但这是静态的方式。我不知道td是否总是被放在两张桌子里。我的标记仅用于演示目的。然后您应该会看到我更新的回复:添加ID。此外,类似的详细信息应该发布在问题中,以便我们能够适当地帮助您。try:last@evanc3:这将只返回一个元素。但是可能有多个元素,其中一些文本作为文本。try:last@evanc3:That将只返回一个元素。但是可能有多个元素,其中有一些文本作为文本。从他的例子中不清楚,但是如果td是一些文本呢?这非常好。@Esailija:在所需的表格单元格中没有更多标记。@Amberlamps.text==某些文本只是意外地起作用。另一个td's.text也包含一些文本,但并不严格等同于某些文本,因为它包含空格,而内部td's.text则严格等同于某些文本,因为它没有空格whitespace@undefined如果你确实使用了。indexOf你回到了原点:从他的例子中不清楚,但是如果td是一些文本呢?更多文本您的原始答案有什么问题?这非常好。@Esailija:在所需的表格单元格中没有更多标记。@Amberlamps.text==某些文本只是意外地起作用。另一个td's.text也包含一些文本,但并不严格等同于某些文本,因为它包含空格,而内部td's.text则严格等同于某些文本,因为它没有空格whitespace@undefined如果确实使用了.indexo,则返回到原点: