我有这个函数,它假设从页面获取所有标签,我正在尝试这些链接中的所有锚点,但我不断得到Object [object HTMLAnchorElement]没有方法错误, 我尝试过使用split,search和indexOf,但是一切都给了mes相同的错误,我做错了什么?
我知道我正在获取所有标签,第一个警报返回其总数。 这就是我所拥有的:
// get all the link tags from the page
var a = document.getElementsByTagName('a');
//alert(a.length)
for (var i = 0; i < a.length; i++)
{
// check which links have an anchor within them
if(a[i].search("#") > 1)
{
alert("yes");
}
else
{
alert("no");
}
}
答案 0 :(得分:1)
Anchor元素具有您可以使用的href
属性:
if (a[i].href.search("#") != -1)
答案 1 :(得分:1)
您需要检查href属性,如下所示:
if(a[i].href.search("#") > -1)
N.B。索引从0开始,因此您需要检查search()
的结果是否大于-1
答案 2 :(得分:0)
您也可以在不使用选择器循环的情况下执行此操作。
var aWithAnchors = document.querySelectorAll('a[href*="#"]');
然后你可以获得所有链接:
console.log([].map.call(aWithAnchors, function (link) {
return link.href;
}));