Firefox innerHTML Bug?

我有一个简单的HTML

Skills

在Firefox 3.6.3中我调用(使用JQuery):

 $("#skills")[0].innerHTML = "some new text" 

Firefox将其呈现为

 

some new text

世界上哪个地方的链接来自??

(请注意,使用JQuery调用$("#skills").html("some new text")会发生同样的事情)

这不是Firefox中的一个错误,你首先得到了额外的 …我会禁用你所有的插件并再试一次,你安装的具体内容会干扰这里。

我假设您正在使用Firebug查看此内容,上面给出的确切示例(页面中没有其他内容)是否也执行相同的操作? 你可以在这里试一试: http : //jsfiddle.net/Wcjk9/

更新:

您的示例确实在Firefox中显示了一些奇怪的行为, 但是 “允许”执行此操作。 由于您的HTML无效,浏览器可以并且确实在这里提供一些时髦的行为。 浏览器中的解析器/脚本引擎可以自由地假设您拥有有效的HTML,例如唯一ID。 如果您的HTML无效,那么……它不能承担责任。 我必须包括这个引用 :

有两次,我被问到,“祈祷,巴贝奇先生,如果你把错误的数字输入机器,那么正确的答案会出来吗?” 我无法正确地理解可能引发这样一个问题的那种想法混乱。

忽略jsbin添加的错误, 您可以在此处看到问题 (第一个validation错误)。 您不能在锚点内部使用块元素。 你可以有一个内联元素,如果你用替换你的例子中的

你将拥有有效的HTML ……这种奇怪的行为就会消失:)

我怀疑你身边有一个插件,或者你的HTML有点格式错误。 尝试禁用插件并通过validation器运行HTML( http://validator.w3.org )。

此外,如果您打算更改的是文本并且不添加任何HTML,我建议使用文本函数而不是html函数(虽然我怀疑这将解决您的问题,只是说它是适合该工作的工具)

原来我的示例代码排除了实际问题的部分,这是一个显示问题的工作示例页面。 当您更改链接中任何元素的html时,它将包装所有文本

THE TEXT

在我的演示中,当您单击“测试”链接时,它将替换技能中的html:

 some new text 

这可能不是一个“错误”,但似乎firefox是唯一的浏览器。

       test  

Skills