我編輯了一個腳本,在一個點上執行以下操作:裹有一個元素創建的文本節點,而jQuery的
err_node = document.createTextNode(err_decoded_str);
不過,我需要的結果文本節點被包裹在<label class="error">generated error node in here</label>
如何在不使用jQuery的情況下做到這一點?如果需要,我可以將createTextNode()
更改爲不同的功能來實現此目的。
我編輯了一個腳本,在一個點上執行以下操作:裹有一個元素創建的文本節點,而jQuery的
err_node = document.createTextNode(err_decoded_str);
不過,我需要的結果文本節點被包裹在<label class="error">generated error node in here</label>
如何在不使用jQuery的情況下做到這一點?如果需要,我可以將createTextNode()
更改爲不同的功能來實現此目的。
所以改變它,如果你想使用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);
太好了,非常感謝 – artparks
當您將文本包裝在<label>
中時,它將成爲一個元素而不是文本節點。看看document.createElement
在the MDN documentation here.
label = document.createElement('label');
label.className = 'error';
label.appendChild(document.createTextNode(err_decoded_str));
// attach the label to where ever its supposed to go
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);
[classlist](http://caniuse.com/classlist)支持有限 – epascarello
是標籤已經在文件中或你必須創建它?它應該附加在哪裏? – fcalderan
可憐的靈魂必須編寫4行代碼而不是'$('
@FabrícioMatté別忘了你爲這一行添加的JavaScript的KB。 ;) – epascarello