Javascript 中 document.innerHTML 的自关闭标签问题
我正在为一个网站用 Javascript 编写 Firefox(Greasemonkey)、Opera 和 Chrome 的浏览器插件。问题是,当我将 document.innerHTML
加载到变量中时,
<form name="foo" action="foo.php" method="get">
<td id="td">text:
<input name="k" type="text" />
</td>
</form>
...网站上面的原始代码(我正在为其编写插件)被转换为
<form name="foo" action="foo.php" method="get">
<td id="td">text:
**<input name="k" type="text">**
</td>
...一。正如您所看到的,自关闭的 标签不再关闭,
标签也消失了。我用谷歌搜索了几乎所有的互联网,但我读到的解决方案都没有解决我的问题。
I am writing a browser plug-in for Firefox(Greasemonkey), Opera and Chrome in Javascript for a website. The issue is, when I load the document.innerHTML
into a variable,
<form name="foo" action="foo.php" method="get">
<td id="td">text:
<input name="k" type="text" />
</td>
</form>
... the original code above of the website(which I am writing the plug-in for) is converted into
<form name="foo" action="foo.php" method="get">
<td id="td">text:
**<input name="k" type="text">**
</td>
... this one. As you can see, the self-closing <input />
tag is not closed anymore, and the </form>
tag also disappeared. I have googled almost all the internet but none of the solutions I read did not solve my problem.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当获取
.innerHTML
时,在 Firefox 中会显示结束标签。
我建议丢失的标签是由于您的标记造成的,我很确定该标记无效:
元素的父元素应该是
,而不是
给定这个标记:
...Firefox 为我提供了
的
innerHTML
:它尝试纠正无效标记。
演示: http://jsfiddle.net/grM4c/
The closing
</form>
tags show up for me in Firefox when getting.innerHTML
.I'd suggest that the missing tag is due to your markup which I'm pretty sure is invalid:
The parent of a
<td>
element should be a<tr>
, not a<form>
.Given this markup:
...Firefox gives me this
innerHTML
for the<table>
:It attempts a correction of the invalid markup.
DEMO: http://jsfiddle.net/grM4c/
好吧,看看你的代码,你关心的是创建一个中间有一个未封闭的 TD 的表单。
试试这个方法。
Well, taking a look on your code, you care creating a form with a unclosed TD in the middle.
Try this way.