更正element.getElementsByTagName()实现

时间:2009-02-05 19:25:51

标签: javascript html dom

//编辑我的问题与其他问题有关,我认为实施不正确但实际上有效,谢谢你的确认。

在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似乎无法正常使用它,而且我无法使用框架

1 个答案:

答案 0 :(得分: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]

你的例子实际上没有证明这个问题吗?