如何使用jQuery获取<link />标签的href?

时间:2010-03-27 21:36:01

标签: jquery jquery-selectors css-selectors hyperlink link-tag

我已经看到很多关于如何使用标记执行此操作,并且使用该标记执行此操作时没有任何问题,但我似乎无法检索href的{​​{1}}属性标签

甚至试图抓住链接标签:

<link>

给出0。

有什么想法吗?

谢谢,
马特

2 个答案:

答案 0 :(得分:5)

如果$("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
});

答案 1 :(得分:2)

我的猜测是,由于某种原因,执行alert语句时链接标记不可用。当我尝试以下示例时:

<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标签运行代码?