jquery查找内部文本<;td>;

jquery查找内部文本<;td>;,jquery,jquery-selectors,Jquery,Jquery Selectors,我在玩一些选择器,我在单元格内选择文本时碰到了一堵墙 这是我正在做的一个简单尝试 <table> <tr> <td>First Name</td> <td>*required</td> </tr> </table> 它似乎使所有的细胞都应用这个类。 有没有更好的方法来查找特定文本?您的方法有效,请记住,任何父级也包含该文本,要进行精确匹配,请执行以下操作: $("td")

我在玩一些选择器,我在单元格内选择文本时碰到了一堵墙

这是我正在做的一个简单尝试

<table>
 <tr>
     <td>First Name</td>
     <td>*required</td>
  </tr>
</table> 
它似乎使所有的细胞都应用这个类。 有没有更好的方法来查找特定文本?

您的方法有效,请记住,任何父级
也包含该文本,要进行精确匹配,请执行以下操作:

$("td").filter(function() { return $.text([this]) == '*required'; })
       .addClass("red");

。例如:

$('td').filter(function(i) {
    $(this).html().indexOf('*required') >= 0;
});
另外:为了提高效率,也因为Nick的回答,您需要更具体地使用选择器。不过,如果考虑到效率,最好不要首先使用使用回调的方法。:)


至于选择器,请考虑使用<代码> $('TabLabID>Tr>TD)…或类似的东西。

不应该使用JavaScript来实现这一点。您应该使用的是CSS类:

<table>
 <tr>
     <td>First Name</td>
     <td class="required">*required</td>
  </tr>
</table> 


<style type="text/css">
td.required {
    color:red;
}
</style>

名字
*必需的
td.required{
颜色:红色;
}

据我所知,它正在按预期工作。这对我有用。你能链接到你实际使用的代码吗?那是一个有趣的网站。我可能得把它加上书签!当我把它放在一个简单的网站上时,我使用的代码是有效的,这意味着我必须有别的东西对我不利。我需要做更多的调查。我不熟悉
$.text()
函数——它有文档记录吗?@lonesomeday-不,不是真的,它是
Sizzle.getText()
,在下面,它只是做
$(this.text()
的一种更便宜的方法,而不需要jQuery对象创建成本。偷偷摸摸。很好,但绝对是鬼鬼祟祟的!我认为关键是cell没有类作为开始。难道你不能控制标记吗?您如何能够编写JavaScript,但却不能正确使用CSS?你只是在试验选择器作为一种学习练习吗?窃笑者,想象一张有许多行的桌子。我说的是几百行。某些单元格内有特定文本,如“*必需”、“可选”或“推荐”。jquery的魔力可以为我做到这一点,而不是对每个单元格应用一个类(这将花费时间并变得单调乏味)。
<table>
 <tr>
     <td>First Name</td>
     <td class="required">*required</td>
  </tr>
</table> 


<style type="text/css">
td.required {
    color:red;
}
</style>