2011-11-11 17 views
0

我有一个页面,其中包括一个无序的链接列表。我试图按链接文本按字母顺序对该列表进行排序。我的JavaScript在Firefox和Chrome中工作,但不在IE中。 IE用undefined覆盖原始链接文本。在IE浏览器JavaScript数组项目是不明确的

我的脚本首先找到ul标签,然后通过TagName获取所有链接,并将它们放入数组lis中。然后来到这个循环,我把链接文本放到第二个数组val中,这样我就可以对它们进行排序。我认为这是问题发生的地方。

为(VAR I = 0,L = lis.length;我<升;我++)

vals.push(LIS [I]的.text);

据我所知,IE不认为.text存在。我在其他帖子中看到了一些建议将其更改为.text()的内容,但这在任何浏览器中都不起作用。

我该如何让IE浏览器对我的链接进行排序?

Full text of script

回答

2

.text不是作品无处不在一个标准特性。您可以使用.innerHTML,而不是像这样:

vals.push(lis[i].innerHTML); 

或者,如果你只是想文本,您可以使用此:

vals.push(lis[i].textContent || lis[i].innerText); 

一些浏览器支持innerText,一些支持textContent。这行代码获取哪个不是未定义的。你可以在这里看到哪些浏览器支持:http://www.quirksmode.org/dom/w3c_html.html

+3

'.text()'是一个jQuery方法。由于这里没有jQuery,'.innerHTML'就是你想要的。 –

+0

谢谢你们两位! – user1040825

相关问题