Firefox IE8&;FF XHTML错误或跨距格式错误?

Firefox IE8&;FF XHTML错误或跨距格式错误?,firefox,internet-explorer-8,xhtml,Firefox,Internet Explorer 8,Xhtml,我最近在IE8&FF中发现了一个奇怪的现象 设计师使用js动态地为布局创建一些跨度标记(他们在一些选项卡上放置圆角图形)。现在,js中的xhtml看起来是这样的:并且工作得非常完美 我们都知道,在js中动态呈现元素可能会占用大量处理器,因此我将元素从js移动到页面源代码中,如上所述 。。。但它不起作用。。。它不仅不起作用,还使IE8崩溃。修复方法很简单,将最短的时间跨度放在ie中: 我对此有点困惑。 首先,据我所知,XHTML是完全有效的! 其次,它是动态工作的,但不是在XHTML中 有人能解释

我最近在IE8&FF中发现了一个奇怪的现象

设计师使用js动态地为布局创建一些跨度标记(他们在一些选项卡上放置圆角图形)。现在,js中的xhtml看起来是这样的:并且工作得非常完美

我们都知道,在js中动态呈现元素可能会占用大量处理器,因此我将元素从js移动到页面源代码中,如上所述

。。。但它不起作用。。。它不仅不起作用,还使IE8崩溃。修复方法很简单,将最短的时间跨度放在ie中:

我对此有点困惑。 首先,据我所知,XHTML是完全有效的! 其次,它是动态工作的,但不是在XHTML中


有人能解释一下这一点吗?或者这只是浏览器的另一个奇怪现象吗?

主流浏览器只支持一小部分自动关闭标签。(有关完整列表,请参阅。)


根据您在JS中创建元素的方式,JavaScript引擎可能会创建一个有效的元素来放置在DOM中

我对IE中的
a
标签也有类似的问题

问题是我的链接看起来是这样的(它是一个带有css的图标集,所以我不需要其中的文本:

<a href="link" class="icon edit" />

请看,我认为其中一个答案可以回答您的问题。

IE尤其不支持XHTML。也就是说,它永远不会对文档应用正确的XML解析规则-即使使用正确的DOCTYPE和all,它也会将其视为HTML。然而,XHTML并不总是有效的SGML。在某些情况下(例如

)IE可以找到它,因为它准备解析tagsoup,而不仅仅是有效的SGML。然而,在其他情况下,相同的“tagsoup”行为意味着它不会将
/>
视为自动关闭标记终止符


一般来说,我的建议是严格使用HTML4.01。这样你就知道应该期待什么。而且,当浏览器将XHTML视为HTML时,向浏览器提供XHTML也没有什么意义…

XHTML只有在作为应用程序/XHTML+xml使用时才是XHTML——否则,至少就浏览器而言,它是HTML,并被视为t银汤

因此,
的意思是“一个span开始标记”,而不是“一个完整的span元素”。(从技术上讲,它应该是指“一个span开始标记和一个大于号”,但这是另一回事)

XHTML规范告诉您需要做什么才能将XHTML解析为HTML


其中一条规则是“.”。其中包括对哪些是空的哪些不是空的快速引用。

wordpress文章是伪造的–不要求span元素包含任何内容。当我尝试时,W3C验证程序愿意说,带有空
或甚至带有
的内容是伪造的“已成功检查为XHTML1.1”,因此我将删除我答案的第一句话。
<a href="link class="icon edit">&nbsp;</a>
if ($.browser.msie) {
    $('a.icon').html('&nbsp');
}