4

タグを使用してこれを行う方法について多くのことを見てきましたが、その方法で問題はありませんがhref、タグの属性を取得できないようです<link>

リンクタグをまったく取得しようとしても:

alert($("link").length);

0 を与える。

何か案は?

ありがとう、
マット

4

2 に答える 2

6

が 0 を返す場合$("link").length、セレクターは何も考え出さず、リンクを取得する見込みはまったくありません。

より良いセレクターが必要です。ID (#linkId) や特定のクラスなどで攻撃するかもしれません。使用できるセレクターはたくさんあります。

http://api.jquery.com/category/selectors/

あなたの最初のステップは、.length を取得して 1 を表示することです。そこから .attr('href') はリンクの場所を提供します。

編集:申し訳ありませんが、あなたが何をしようとしているのかを誤解しています。私はあなたがアンカータグを意味していると思っていました。リンクタグに正常にアクセスした方法は次のとおりです。

var links = window.document.getElementsByTagName('link');
$(links).each(function() {
    $(this).attr('href')  // this is your href for the link tag in the loop
});
于 2010-03-27T21:43:20.460 に答える
3

私の推測では、何らかの理由で、アラート ステートメントを実行したときにリンク タグを使用できないと考えられます。次のサンプルを試すと:

<html>
<head>
<link rel="stylesheet src="xxx" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript">
    $(document).ready(function(){
        alert($("link").length);
    });
</script>
</head>
<body>
Hello world!
</body>
</html>

「0」ではなく、きちんと「1」を返します。コードとこの例の違いを理解しようとするかもしれません。たとえば、HEAD または BODY タグからコードを実行していますか?

于 2010-03-27T21:53:35.443 に答える