在javascript中使用HTML属性
我是javascript的初学者。我试图在php生成的页面上添加一个使用javascript生成新表单元素的函数 该代码用于创建新的在javascript中使用HTML属性,javascript,html,forms,Javascript,Html,Forms,我是javascript的初学者。我试图在php生成的页面上添加一个使用javascript生成新表单元素的函数 该代码用于创建新的,html元素。然而,当我尝试使用css样式创建按钮时,我发现标签中的样式丢失了 if(document.createElement) var tr = document.createElement("tr"); var input = document.createElement("input"); // If NS is passed, should beco
,
html元素。然而,当我尝试使用css样式创建按钮时,我发现标签中的样式丢失了
if(document.createElement)
var tr = document.createElement("tr");
var input = document.createElement("input");
// If NS is passed, should become NS[2] etc
input.id = field+"["+count+"]";
input.name = field+"["+count+"]";
input.type = "text"; //Type of field - can be any valid input type like text,file,checkbox etc.
var td=document.createElement("td");
var newContent = document.createTextNode("NS");
td.appendChild(newContent);
tr.appendChild(td);
td=document.createElement("td");
td.appendChild(input);
tr.appendChild(td);
var btnDel=document.createElement("a");
btnDel.class="btn btn-primary";
btnDel.onclick = "addField(\'nameservers\',\'NS\',10);" ;
var btnText=document.createElement("span");
btnText.class="btn-label";
btnText.innerHTML="Add";
btnDel.appendChild(btnText);
td.appendChild(btnDel);
tr.appendChild(td);
field_area.appendChild(tr);
}
生成的代码显示:
<a><span>Add</span>
</a>
</td>
添加
而不是我所期望的:
<a onclick="addField('nameservers','NS',10);" class="btn btn-primary">
<span class="btn-label">Add
</span>
</a>
添加
我做错了什么?使用脚本传递所有html属性的正确方法是什么?使用
className=
而不是class=
。所以它会像:
btnDel.className="btn btn-primary";
这是因为
类
字在JavaScript中是保留字。用于单击
与其尝试将其输出到HTML中,为什么不在纯Javascript中使用addEventListener
方法呢
element.addEventListener('click', function() {
addField('nameservers','NS',10);
}, false);
这种方法被称为非突兀Javascript,在开发网站时,它实际上是一个非常理想的属性
对于该类
如前所述,使用className
而不是class
class
通常在声明为新类之前,并且不能像属性一样使用,正如您不能调用变量var
关于解释的第一部分,这只是最佳实践,还是使用元素。onclick
实际上是错误的?这只是最佳实践。这不是“错”。但在将来,当您只想使用javascript时,您将不必在JS文件和HTML文件之间切换,因为您将所有JS引用放在一个地方。