Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用HTML属性_Javascript_Html_Forms - Fatal编程技术网

在javascript中使用HTML属性

在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

我是javascript的初学者。我试图在php生成的页面上添加一个使用javascript生成新表单元素的函数

该代码用于创建新的
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引用放在一个地方。