相关疑难解决方法(0)

为什么"element.innerHTML + ="代码不好?

我被告知不要使用element.innerHTML += ...这样的东西来附加东西:

var str = "<div>hello world</div>";
var elm = document.getElementById("targetID");

elm.innerHTML += str; //not a good idea?
Run Code Online (Sandbox Code Playgroud)

这有什么问题?我还有其他选择吗?

html javascript anti-patterns innerhtml

46
推荐指数
4
解决办法
3万
查看次数

JavaScript方法`createElement`(可能)生成无效的XHTML

可能重复:
如何使用javascript 创建xhtml元素
使用javascript createElement创建<br />?

我正在使用JavaScript编程生成表单,例如:

document.createElement();
document.appendChild;
inputExample.type = "text";
…
Run Code Online (Sandbox Code Playgroud)

但我意识到JavaScript生成的自闭[X] HTML/XML元素不适用,即

document.createElement('input');
Run Code Online (Sandbox Code Playgroud)

会导致<input>,而不是<input />.

虽然页面有一个

<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

<html xmlns="http://www.w3.org/1999/xhtml">…</html>
Run Code Online (Sandbox Code Playgroud)

并且是浏览器扩展的一部分,因此使用MIME类型进行解释text/html,因此不需要在语法上符合XHTML,我想知道JavaScript元素创建生成有效XHTML的方法.有没有办法做到这一点?

html javascript xhtml html5

3
推荐指数
1
解决办法
612
查看次数

标签 统计

html ×2

javascript ×2

anti-patterns ×1

html5 ×1

innerhtml ×1

xhtml ×1