Правильная реализация element.getElementsByTagName () - PullRequest
0 голосов
/ 05 февраля 2009

// РЕДАКТИРОВАТЬ Моя проблема была связана с чем-то другим, я думал, что реализация была неправильной, но на самом деле она работает, спасибо за подтверждение.

Посмотрел в 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 Ответ

2 голосов
/ 05 февраля 2009
<code><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>

В IE6, IE7 и IE8RC1 это выводит:

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

Ваш пример на самом деле не демонстрирует проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...