我有以下代码:
<ul id="menu">
<li id = 1><a href="http://google.com" >Link</a></li>
<li id = 2><a href="http://http://stackoverflow.com/" >Link</a></li>
</ul>
<script>
for (var i = 1; i < 3; i++)
{
var element = document.getElementById(i);
var liLink = document.getElementById(i).childNodes[0].baseURI;
console.log(liLink );
}
</script>
我在控制台中看到了
2 "http://google.com".
预期是:
"http://google.com"
"http://http://stackoverflow.com/"
但是当我记录元素时,我可以看到childNodes [0] .baseURI是不同的。 你能告诉我出了什么问题吗?
谢谢, 振亚
答案 0 :(得分:4)
您需要阅读href属性,而不是baseURI。
<ul id="menu">
<li id="1"><a href="http://google.com" >Link</a></li>
<li id="2"><a href="http://http://stackoverflow.com/" >Link</a></li>
</ul>
<script>
for (var i = 1; i < 3; i++)
{
var element = document.getElementById(i);
var liLink = document.getElementById(i).childNodes[0].getAttribute('href');
console.log(liLink );
}
</script>
答案 1 :(得分:1)
您的代码应该是这样的
for (var i = 1; i < 3; i++)
{
var element = document.getElementById(i);
var liLink = document.getElementById(i).childNodes[0];
console.log(liLink.href);
}
选中此JSFiddle