javascript - 在 javascript 中使用 HTML 属性

标签 javascript html forms

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

代码用于创建新的 <tr>, <td>, <input type="text"> 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 属性的正确方法是什么?

最佳答案

对于点击

与其尝试将其输出到 HTML 中,不如使用 addEventListener 方法在纯 Javascript 中执行此操作?

element.addEventListener('click', function() {

    addField('nameservers','NS',10);

    }, false);

这种方法被称为 non-obtrusive Javascript,在开发网站时它实际上是一个非常理想的属性。

为了类(class)

如前所述,使用 className 而不是 class

class 通常在作为新类的声明之前,不能像属性一样使用,就像不能调用变量 var .

关于javascript - 在 javascript 中使用 HTML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17786915/

相关文章:

UITableViewCells 中的 iOS 动态表单,检索值

javascript - 如何使用js做一个循环

html - 父元素未填充悬停状态

javascript - 如何在函数javascript中获取自己的属性

javascript - 是否有预定义的方法来重置 (X)HTML 文档中的所有元素?

javascript - 我如何将 Angular JS 构建的表单提交到电子邮件地址

javascript - 文本输入中的Android onkeypress vs oninput

javascript - SetInterval 只调用一次,不知道为什么?

javascript - javascript #map 如何从数组中删除对象?

javascript - Angular Controller 有什么意义, Controller 的工作不能由指令完成吗?