我正在编辑一个脚本,该脚本在某一点上执行以下操作:
err_node = document.createTextNode(err_decoded_str);
但是我需要将生成的文本节点包装在<label class="error">generated error node in here</label>
如何在不使用jQuery的情况下完成此操作?如果需要,我可以将createTextNode()
更改为不同的功能来实现此目的。
答案 0 :(得分:1)
因此请将其更改为使用createElement而不是
err_node = document.createTextNode(err_decoded_str);
到
err_node = document.createElement("label");
err_node.className = "error";
err_node.innerHTML = err_decoded_str;
如果需要,可以创建一个textnode并将其附加到err_node。
err_node = document.createElement("label");
err_node.className = "error";
var err_textnode = document.createTextNode(err_decoded_str);
err_node.appendChild(err_textnode);
答案 1 :(得分:0)
当您将文本包装在<label>
中时,它将成为元素而不是文本节点。查看the MDN documentation here.
document.createElement
答案 2 :(得分:0)
label = document.createElement('label');
label.className = 'error';
label.appendChild(document.createTextNode(err_decoded_str));
// attach the label to where ever its supposed to go
答案 3 :(得分:0)
err_node = document.createTextNode(err_decoded_str);
var label = document.createElement("label"); // create label element
label.classList.add("error"); // add error class to label
label.appendChild(err_node); // append err_node to label
console.log(label);