0

我正在编辑一个脚本,该脚本在某一时刻执行以下操作:

err_node = document.createTextNode(err_decoded_str);

但是我需要将结果文本节点包裹在<label class="error">generated error node in here</label>

不使用 jQuery 如何做到这一点?如果需要,我可以更改createTextNode()为不同的功能来实现这一点。

4

4 回答 4

1

因此,将其更改为使用createElement

err_node = document.createTextNode(err_decoded_str);

err_node = document.createElement("label");
err_node.className = "error";
err_node.innerHTML = err_decoded_str;

如果需要,您可以创建一个文本节点并将其附加到 err_node。

err_node = document.createElement("label");
err_node.className = "error";
var err_textnode = document.createTextNode(err_decoded_str);
err_node.appendChild(err_textnode);
于 2013-04-12T14:28:09.053 回答
0

当您将文本包装在 a 中<label>时,它将成为元素而不是文本节点。document.createElement在此处查看MDN 文档。

于 2013-04-12T14:28:08.883 回答
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
于 2013-04-12T14:28:20.923 回答
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);
于 2013-04-12T14:30:55.603 回答