我已经看到很多关于如何使用标记执行此操作,并且使用该标记执行此操作时没有任何问题,但我似乎无法检索href
的{{1}}属性标签
甚至试图抓住链接标签:
<link>
给出0。
有什么想法吗?
谢谢,
马特
答案 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标签运行代码?