通过内容的精确匹配来选择元素

2024-04-28

好吧,我想知道有没有办法让:contains()jQuery 的选择器用于选择元素only输入的字符串

例如 -

<p>hello</p>
<p>hello world</p>

$('p:contains("hello")').css('font-weight', 'bold');

选择器将选择两者p元素并使它们加粗,但我希望它只选择第一个。


不,没有 jQuery(或 CSS)选择器可以做到这一点。

您可以轻松使用filter http://api.jquery.com/filter:

$("p").filter(function() {
    return $(this).text() === "hello";
}).css("font-weight", "bold");

这不是一个selector,但它确实完成了工作。 :-)

如果你想处理“hello”之前或之后的空格,你可以抛出一个$.trim http://api.jquery.com/jQuery.trim/在那里:

return $.trim($(this).text()) === "hello";

对于不成熟的优化器,如果你不关心它不匹配<p><span>hello</span></p>类似地,您可以避免调用$ and text通过使用innerHTML直接地:

return this.innerHTML === "hello";

...但是你必须有一个lot重要的段落太多了,以至于您可能首先会遇到其他问题。 :-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过内容的精确匹配来选择元素 的相关文章

随机推荐