我可以使用jQuery按内容选择文本节点吗?

时间:2010-06-27 19:47:31

标签: jquery jquery-selectors

如何知道<a href="...">foo</a>

,如何选择foo DOM节点

1 个答案:

答案 0 :(得分:14)

您可以使用.filter(),如下所示:

$("a").filter(function() {
  return $(this).text() === "foo";
}).doSomething();

如果您不需要完全匹配,还有:contains()选择器,如下所示:

$("a:contains('foo')").doSomething();

如果您要查找的文字位于元素中的任何位置,则可以使用此选项,而不是精确匹配。


或者,如果您想要完全匹配并经常进行匹配,请为此创建一个选择器,如下所示:

$.expr[":"].textEquals = function(obj, index, meta) { 
  return $(obj).text() === meta[3]; 
} 

然后你可以随时使用它,就像这样:

$("a:textEquals('foo')").doSomething();