0

ページからすべての a タグを取得すると思われるこの関数があります。これらのリンク内のすべてのアンカーを取得しようとしていますが、オブジェクト [オブジェクト HTMLAnchorElement] にメソッド エラーがありません。分割を使用してみました。 、search、およびindexOfですが、すべて同じエラーが発生します。何が間違っていますか?

すべての a タグを取得していることはわかっています。最初のアラートでその合計数が返されます。ここに私が持っているものがあります:

// 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");
    }
}
4

3 に答える 3

1

アンカー要素には、href使用できるプロパティがあります。

if (a[i].href.search("#") != -1)
于 2013-08-20T16:13:01.053 に答える
1

次のように、href 属性を確認する必要があります。

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

search()注意: インデックスは 0 から始まるため、結果が -1 より大きいかどうかを確認する必要があります。

于 2013-08-20T16:14:30.443 に答える
0

セレクターを使用してループせずに実行することもできます。

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

次に、すべてのリンクを取得できます。

console.log([].map.call(aWithAnchors, function (link) {
    return link.href;
}));
于 2013-08-20T16:41:39.670 に答える