return null document.getElementsByTagName

时间:2016-01-16 00:36:29

标签: javascript dom getelementsbytagname

我的网页中有简单的ul元素,如下所示:

<div id="JQueryFTD_Demo" class="demo"><ul class="jqueryFileTree" style="">
    <li class="directory collapsed"><a href="#" rel="/SampleFolder/A/">A</a></li>
    <li class="directory collapsed"><a href="#" rel="/SampleFolder/B/">B</a></li>
    <li class="directory collapsed"><a href="#" rel="/SampleFolder/C/">C</a></li>
    <li class="directory collapsed"><a href="#" rel="/SampleFolder/D/">D</a></li>
    <li class="file ext_accdb"><a href="#" rel="/SampleFolder/SampleDBFile.accdb">SampleDBFile.accdb</a></li>
    <li class="file ext_txt"><a href="#" rel="/SampleFolder/SomeText.txt">SomeText.txt</a></li>
</ul></div>

我尝试通过javascript找到标签:

var x = document.getElementsByTagName("a");
return x.textContent;

我的返回值始终为null, 你能帮帮我吗?

感谢。

2 个答案:

答案 0 :(得分:0)

问题很简单...... getElementsByTagname返回一个像数组一样的集合。

您必须迭代集合以与每个元素实例的属性进行交互

答案 1 :(得分:0)

是的,因为getElementsByTagName返回一个节点列表,你不能通过函数返回一个值

您必须遍历节点列表才能获取每个

的内容
var x = document.getElementsByTagName("a");

for(var i = 0; i < x.length; i++) {
    console.log(x[i].textContent);
}