почему встроенный элемент пропускает беспорядок с javascript / jquery? - PullRequest
1 голос
/ 02 февраля 2012

, чтобы прояснить вопрос: почему пробелы вызывают проблемы с функциональностью javascript?

Я сталкивался с этой ситуацией сегодня и задавался вопросом, может ли кто-нибудь пролить свет на вещи.

JS

button.click(function() {
    menu.show();
});

HTML

<span id="button">
  <img src="btn.png" />
</span>
<ul id="menu">
    //contents here
</ul>

Хорошо, теперь вот что отлично работает во всех Chrome, FF, O, IE9, но не в IE8

сейчас, если я сделаю это

<span id="button"><img src="btn.png" /></span>
<ul id="menu">
    //contents here
</ul>

IE8 исправлен ... он также работает, если я структурирую его как

<span id="button"><!-- nospace
--><img src="btn.png" /><!-- nospace
--></span>
<ul id="menu">
  //contents here
</ul>

так что я предполагаю, что это был пробел, который все испортил. Мне просто любопытно, почему пропуски мешают с этим, или если в моей структуре может быть основная проблема, которую, похоже, эти решения просто исправляют.

есть мысли?

1 Ответ

0 голосов
/ 11 сентября 2012

Он обрабатывает пробел как текстовый узел, который сбрасывает каскад. В старых браузерах есть куча ошибок, которые никогда не исправлялись в последующих версиях. Вот несколько ресурсов:

...