0

テキストボックスがあります。焦点を合わせて、次の方法で新しい要素を作成するjavascript関数を呼び出します。

var label = document.createElement("label");
label.innerHTML = "*For a more secure password use letters and digits";
document.getElementById('picturediv').appendChild(label);

しかし、onblur別の関数を呼び出してから、この要素を削除したいと思います。削除を試しましたが、機能しません。削除がそれに適しているかどうかはわかりません。

4

1 に答える 1

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');

于 2012-04-28T09:40:17.457 に答える