好吧,我想知道是否有办法让 :contains()
jQuery 的选择器选择仅输入的字符串的元素
例如-
<p>hello</p>
<p>hello world</p>
$('p:contains("hello")').css('font-weight', 'bold');
选择器将选择两个 p
元素并将它们设为粗体,但我希望它只选择第一个。
最佳答案
不,没有 jQuery(或 CSS)选择器可以做到这一点。
您可以随时使用 filter
:
$("p").filter(function() {
return $(this).text() === "hello";
}).css("font-weight", "bold");
它不是选择器,但它完成了工作。 :-)
如果你想处理“hello”之前或之后的空格,你可能会抛出一个 $.trim
。在那里:
return $.trim($(this).text()) === "hello";
对于那些过早的优化器,如果你不关心它不匹配 <p><span>hello</span></p>
和类似的,你可以避免调用 $
和 text
通过使用 innerHTML
直接:
return this.innerHTML === "hello";
...但是您必须有很多段落才能让它变得重要,太多以至于您可能首先遇到其他问题。 :-)
关于jquery - 通过内容的精确匹配来选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364298/