我的网站上有一些包含STRING的链接的js,看起来像这样:
if($("a[href*='STRING']").length > 0){
console.log("yes");
}
如果存在类似以下的链接,则返回true:
<a href="STRING.html">text</a>
问题在于它还会通过以下链接返回true:
<a href="index.html?search=STRING">text</a>
如何限制jquery选择器仅查看href的第一部分?
答案 0 :(得分:3)
您可以使用filter()
并与其中没有查询字符串的pathname
的{{1}}属性进行比较。
<a>
元素具有许多与<a>
类似的属性,例如window.location
,host
,search
等。
protocol
在域主机之后开始,在任何pathname
或#
之前结束
?
var $hasString= $('a').filter(function() {
console.log(this.pathname)
return this.pathname.includes("STRING");
}).css('color', 'red');
console.log("Matches:", $hasString.length)