Firefox innerHTML Bug?
我有一个简单的HTML
Skills
在Firefox 3.6.3中我调用(使用JQuery):
$("#skills")[0].innerHTML = "some new text"
Firefox将其呈现为
世界上哪个地方的链接来自??
(请注意,使用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时,它将包装所有文本
在我的演示中,当您单击“测试”链接时,它将替换技能中的html:
some new text
这可能不是一个“错误”,但似乎firefox是唯一的浏览器。
test Skills
- 关闭模态窗口时Firefox中出错
- 为什么在Firefox中调用这个jQuery函数会失败?
- 如何使用JQuery AJAX阻止Firefox使用HTTP Basic Auth提示用户名/密码?
- FireBug问题:无法使用console.log
- window.location.replace(href)后面的后退按钮失败;
- jQuery – 复选框和checkall – 如果相关复选框发生更改,则监视和更改状态
- 谷歌可视化(PieChart / LineChart)Jquery Ajax Firefox问题
- 为什么.innerText无法在Firefox中运行?
- Jquery Ajax Firefox不发送cookie(Chrome工作)