2009-02-05 139 views
0

//编辑我的问题与其他事情有关,我认为实现是不正确的,但它实际上工作,感谢确认。正确element.getElementsByTagName()实现

看着jQuery和prototypejs,似乎无法找到它们实现的方式getElementsByTagName上的元素(不是document.getElementsByTagName)。

这里是我的测试HTML:

<div id="something" style="margin: 10px 10px 10px 15px; overflow: auto; position: relative; height: 200px;"> 
    <div style="float: left; width: 180px; font-size: 10px; margin-bottom: 4px;"> 
     <label for="label_50"> 
      <img style="vertical-align: middle; margin-right: 3px;" src="http://web1.wow.com/i/i_ask_sm.gif"/> 
      <a style="color: rgb(0, 0, 0); text-decoration: underline;" href="http://myjeeves.ask.com/mysearch/BookmarkIt?v=1.2&t=webpages&url=[URL]&title=[TITLE]" post_link="http://myjeeves.ask.com/mysearch/BookmarkIt?v=1.2&t=webpages&url=[URL]&title=[TITLE]" rel="external" target="_blank">Ask</a> 
     </label> 
    </div> 
</div> 

而且我现在的JS:

document.getElementById("something").getElementsByTagName("a"); 

我在寻找正确执行这个原因当然IE似乎不与正常工作它和我不能使用框架

+0

你能更详细地解释一下getElementsByTagName在IE中不适合你吗? – tj111 2009-02-05 19:29:44

+0

这个*应该*在IE中工作得很好,只要:(1)在这个HTML之前,您的DOM中没有任何元素,并且NAME属性设置为“something”...并且您没有试图查找[param]元素。 – scunliffe 2009-02-05 19:56:56

回答

2
<div id="something" style="margin: 10px 10px 10px 15px; overflow: auto; position: relative; height: 200px;"> 
    <div style="float: left; width: 180px; font-size: 10px; margin-bottom: 4px;"> 
     <label for="label_50"> 
      <img style="vertical-align: middle; margin-right: 3px;" src="http://web1.wow.com/i/i_ask_sm.gif"/> 
      <a style="color: rgb(0, 0, 0); text-decoration: underline;" href="http://myjeeves.ask.com/mysearch/BookmarkIt?v=1.2&t=webpages&url=[URL]&title=[TITLE]" post_link="http://myjeeves.ask.com/mysearch/BookmarkIt?v=1.2&t=webpages&url=[URL]&title=[TITLE]" rel="external" target="_blank">Ask</a> 
     </label> 
    </div> 
</div> 
<pre> 
<script type="text/javascript"> 
var lnks = document.getElementById("something").getElementsByTagName("a"); 
for (var ii = 0; ii < lnks.length; ++ii) { 
    document.writeln(lnks[ii].href); 
} 
</script> 
</pre> 

在IE6,IE7和IE8RC1此输出:

http://myjeeves.ask.com/mysearch/BookmarkIt?v=1.2&t=webpages&url=[URL]&title=[TITLE] 

请问您的例子没有真正说明问题?