4

我已经看到很多关于如何使用标签执行此操作的内容,并且使用该标签执行此操作没有问题,但我似乎无法检索标签的href属性。<link>

甚至试图抓住链接标签:

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

给出 0。

有任何想法吗?

谢谢,
马特

4

2 回答 2

6

如果$("link").length返回 0,则您的选择器没有提供任何内容,并且根本没有希望获得链接。

你需要一个更好的选择器。也许通过 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>

它巧妙地返回“1”,而不是“0”。也许您可以尝试找出您的代码与此示例之间的差异。例如:您是从 HEAD 还是从 BODY 标签运行代码?

于 2010-03-27T21:53:35.443 回答