繁体   English   中英

如何在数组内搜索?

[英]How to search within an array?

我有这个函数,它假设从页面获取所有的标签,我正在尝试这些链接中的所有锚点,但我一直得到Object [对象HTMLAnchorElement]没有方法错误,我尝试过使用split ,搜索和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");
    }
}

Anchor元素有一个你可以使用的href属性:

if (a[i].href.search("#") != -1)

您需要检查href属性,如下所示:

if(a[i].href.search("#") > -1)

NB索引从0开始,因此您需要检查search()的结果是否大于-1

您也可以在不使用选择器循环的情况下执行此操作。

var aWithAnchors = document.querySelectorAll('a[href*="#"]');

然后你可以获得所有链接:

console.log([].map.call(aWithAnchors, function (link) {
    return link.href;
}));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM