IE8 nextSibling баг
Доброго дня, уважаемые форумчане!
Сегодня заметил один странный баг, именно в IE8. Решил прогуляться по всем соседним нодам с помощью nextSibling. После получения html всех узлов, по которым прошелся увидел странную вещь: IE8 добавляет "огрызки" от родительских нод. Вот что получилось: <FORM id=site-search data-url="/en-US/search"> <P onclick="var t = this; while(t = t.nextSibling) alert(t); return false"><INPUT name=q id=q role=search type=text placeholder="Search MDN"> <NOSCRIPT></NOSCRIPT></P><INPUT name=sitesearch type=hidden value=developer.mozilla.org> <DIV id=site-search-gg></DIV></FORM><A id=tabzilla href="http://www.mozilla.org/">mozilla</A> *!* <DIV></DIV></HEADER> */!* <!-- top toolbar --><SECTION id=nav-toolbar> <DIV> <DIV class=wrap><!-- right floated navigation --><NAV id=tool-menus role=navigation> <UL id=tools> <LI class=menu><A class=toggle href="#page-tools">This page</A> <UL class=sub-menu id=page-tools> <LI class=page-print><A title="Print page" onclick="return window.print();" href="#">Print this page</A> </LI> <LI><A href="/en-US/docs/new?parent=41044">New sub-page</A> </LI> <LI><A href="/en-US/docs/new?clone=41044">Clone this page</A> </LI></UL></LI> <LI class=menu><A class=toggle href="#">Languages</A> <UL id=translations> <LI><A href="/en-US/docs/DOM/treeWalker.filter$locales">Add translation</A> </LI></UL></LI></UL></NAV><!-- left crumb navigation --><NAV class=crumbs role=navigation> <OL> <LI class=crumb><A href="/en-US/docs/DOM">Document Object Model (DOM)</A> </LI> <LI class=crumb>treeWalker.filter</LI></OL></NAV></DIV></DIV></SECTION> <DIV>***</DIV><SECTION id=content> Не подскажете, как обойти данный баг? Вторая проблема заключается в том, что HTML5 некоторые теги не закрываются, как например последний. |
Через валидатор свой код прогнал?
|
В остальных браузерах нормально в т.ч. и в IE9
|
Цитата:
|
Вот код IE9
<form id="site-search" data-url="/en-US/search">
<p onclick="var t = this; while(t = t.nextSibling) alert(t); return false">
<input name="q" id="q" role="search" type="text" placeholder="Search MDN" value="">
<noscript>
<button type="submit">Search</button>
</noscript>
</p>
<input name="sitesearch" type="hidden" value="developer.mozilla.org">
<div id="site-search-gg"></div>
</form> <a id="tabzilla" href="http://www.mozilla.org/">mozilla</a>
<!-- top toolbar -->
<section id="nav-toolbar">
<div>
<div class="wrap">
<!-- right floated navigation -->
<nav id="tool-menus" role="navigation">
<ul id="tools">
<li class="menu"> <a class="toggle" href="#page-tools">This page</a>
<ul class="sub-menu" id="page-tools">
<li class="page-print"> <a title="Print page" onclick="return window.print();" href="#">Print this page</a>
</li>
<li><a href="/en-US/docs/new?parent=41044">New sub-page</a>
</li>
<li><a href="/en-US/docs/new?clone=41044">Clone this page</a>
</li>
</ul>
</li>
<li class="menu"> <a class="toggle" href="#">Languages</a>
<ul id="translations">
<li><a href="/en-US/docs/DOM/treeWalker.filter$locales">Add translation</a>
</li>
</ul>
</li>
</ul>
</nav>
<!-- left crumb navigation -->
<nav class="crumbs" role="navigation">
<ol>
<li class="crumb"><a href="/en-US/docs/DOM">Document Object Model (DOM)</a>
</li>
<li class="crumb">treeWalker.filter</li>
</ol>
</nav>
</div>
</div>
</section>
<div>***</div>
Другая проблема, что IE8 не закрывает SECTION тег, а так же не может получить содержимое noscript |
с той строкой вы были правы, код оказался битым :). Ну а как получить noscript содержимое с IE?
|
Цитата:
это легко посмотреть так:
<noscript>
<button type="submit">Search</button>
</noscript>
<script>
alert(document.getElementsByTagName('noscript')[0].parentNode.innerHTML);
</script>
во всех браузерах, внутри тега noscript что-то есть, а в ИЕ8 он пуст |
Цитата:
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 04:26. |