如何从HTML标签获取子标签信息

时间:2013-06-18 11:34:45

标签: javascript html

我有以下代码:

            <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是不同的。 你能告诉我出了什么问题吗?

谢谢, 振亚

2 个答案:

答案 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