setAttribute的替代品

Tom*_*Tom 1 javascript

我一直以不同的方式创造元素,我不确定最好的方法.有什么区别:

var myselect = document.createElement("select");
myselect.name="blah";
Run Code Online (Sandbox Code Playgroud)

var myselect = document.createElement("select");
myselect.setAttribute("name", "blah"); 
Run Code Online (Sandbox Code Playgroud)

我最近刚刚使用以下方式绊倒了:

var label = document.createElement("label");
label.for= "blah";
Run Code Online (Sandbox Code Playgroud)

哪个不起作用,我不得不使用setAttribute.是否有优势/劣势?

Rig*_*red 6

通常,您希望在JavaScript中处理属性而不是属性.

属性在DOM节点上.属性在HTML标记中.有时属性会自动转换为属性.

相对而言for,请htmlFor改用.

var label = document.createElement("label");
label.htmlFor= "CameraQuality";
Run Code Online (Sandbox Code Playgroud)