Html 为什么使用内联元素空格';javascript/jquery有什么问题?

Html 为什么使用内联元素空格';javascript/jquery有什么问题?,html,internet-explorer-8,whitespace,Html,Internet Explorer 8,Whitespace,要澄清的问题是,为什么空白会导致javascript功能出现问题 我今天遇到了这种情况,我想知道是否有人能解释一些事情 js button.click(function() { menu.show(); }); html <span id="button"> <img src="btn.png" /> </span> <ul id="menu"> //contents here </ul> //这里的内容

要澄清的问题是,为什么空白会导致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>

    //这里的内容
所以我猜是空格把事情搞砸了。我只是好奇为什么空格会弄乱它,或者在我的结构中是否有一个潜在的问题,这些解决方案似乎可以解决


有什么想法吗?

它将空格视为文本节点,从而抛出级联。旧浏览器中存在大量空白错误,这些错误在后续版本中从未修复。以下是一些资源:


您是否使用记事本或其他任何东西来编写HTML?您的文件是否编码为ANSI/UTF-8?这一切都很重要。我建议你尝试一下,如果它仍然不工作后的小提琴,它将更容易为我们跟踪和解决问题。那么到底是什么搞砸了?我使用eclipse。。utf-8。。我只是说,当我以一种在跨度内没有任何类型的空白的方式来构造它时,它是有效的,而当我没有空白时,它是无效的。我很好奇,是否我所应该关心的只是空白,或者是否有其他原因可能导致这一点。我怀疑一些事情,但我需要更多的信息来证实。是否使用php include?如果使用,请尝试在UTF-8中保存不带BOM的页面(包括的所有页面)。@Brodie请创建一个示例来说明此问题。或者至少详细阐述一下“DoesNetwork”。我会帮忙的,但我不能玩它,也不知道到底是什么问题。