如何检查 href 属性是否包含字符串?
How to check if href attribute contains a string?
我想从页面获取所有 "a" 标签,获取其 "href" 属性并检查此 href 中是否为文本“.pdf”。所以我将所有 a
标签放入 tags
变量中,然后使用 each()
函数检查每个 "a"(作为 tag
)。但是代码:
if ($(tag).indexOf('.pdf') > 0)
console.log($(tag));
不工作。为什么?为什么我不能在 href
上使用 indexOf
?我尝试使用 search()
函数,但它也不起作用。
所以我想 - 好吧,这个 href
有问题。让我们把它作为一个文本。
但是代码:
var text = $(tag).text();
console.log(text);
也不工作。谁能告诉我为什么?
代码片段有意包含错误 - 以显示我遇到的问题。
提前致谢。
(function($){
var tags = $('a');
$(tags).each(function() {
var tag = $(this).attr('href')
if ($(tag).indexOf('.pdf') > 0)
console.log($(tag));
var text = $(tag).text();
console.log(text);
});
}(jQuery));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<a href="https://www.test.com/example.pdf" target="_blank">Link with ".pdf"</a>
<a href="https://www.test.com/" target="_blank">Link without ".pdf"</a>
</html>
调用 indexOf 时无需额外 $(tag)
。 tag
此时是一个字符串,您不需要将其设为 jQuery 对象。只需调用 tag.indexOf('.pdf') > 0
。对于字符串,您还可以使用 tag.includes('.pdf')
或使用 tag.substr(tag.length - 4, 4) === '.pdf'
以使其更加精确。
我想从页面获取所有 "a" 标签,获取其 "href" 属性并检查此 href 中是否为文本“.pdf”。所以我将所有 a
标签放入 tags
变量中,然后使用 each()
函数检查每个 "a"(作为 tag
)。但是代码:
if ($(tag).indexOf('.pdf') > 0)
console.log($(tag));
不工作。为什么?为什么我不能在 href
上使用 indexOf
?我尝试使用 search()
函数,但它也不起作用。
所以我想 - 好吧,这个 href
有问题。让我们把它作为一个文本。
但是代码:
var text = $(tag).text();
console.log(text);
也不工作。谁能告诉我为什么?
代码片段有意包含错误 - 以显示我遇到的问题。
提前致谢。
(function($){
var tags = $('a');
$(tags).each(function() {
var tag = $(this).attr('href')
if ($(tag).indexOf('.pdf') > 0)
console.log($(tag));
var text = $(tag).text();
console.log(text);
});
}(jQuery));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<a href="https://www.test.com/example.pdf" target="_blank">Link with ".pdf"</a>
<a href="https://www.test.com/" target="_blank">Link without ".pdf"</a>
</html>
调用 indexOf 时无需额外 $(tag)
。 tag
此时是一个字符串,您不需要将其设为 jQuery 对象。只需调用 tag.indexOf('.pdf') > 0
。对于字符串,您还可以使用 tag.includes('.pdf')
或使用 tag.substr(tag.length - 4, 4) === '.pdf'
以使其更加精确。