我有一个文本框。在焦点上我调用了一个javascript函数,我用这种方式创建一个新元素:
var label = document.createElement("label");
label.innerHTML = "*For a more secure password use letters and digits";
document.getElementById('picturediv').appendChild(label);
但onblur
我调用了另一个函数,然后我想删除这个元素。我已尝试删除但它无法正常工作。我不确定删除是否适合。
答案 0 :(得分:2)
你可以这样删除它:
function removeLabel() {
document.getElementById('picturediv').removeChild(document.getElementById('picturediv').getElementsByTagName('label')[document.getElementById('picturediv').getElementsByTagName('label').length - 1]);
}
编辑:
带注释的功能:
function removeLabel() {
var parentNode = document.getElementById('picturediv'); // The parentNode of the label element
var tagsWithLabel = parentNode.getElementsByTagName('label'); // All elements with tag name label
var length = tagsWithLabel.length; // The length of the node array
parentNode.removeChild(tagsWithLabel[length - 1]); // Deleting the last element with tage name label from parentNode.
}
因评论而编辑:
function removeLabel(id) {
document.getElementById(id).removeChild(document.getElementById(id).getElementsByTagName('label')[document.getElementById(id).getElementsByTagName('label').length - 1]);
}
删除标签1:removeLabel('picturediv');
以删除标签2:removeLabel('picturediv2');