私は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 属性を渡す適切な方法は何ですか?