Das ist richtig, als ich kürzlich ein jQuery-Training durchgeführt habe, bin ich auf ein Problem gestoßen, als jQuery feststellte, ob ein Element vorhanden ist.
Die Frage lautet wie folgt: Bitte fügen Sie Id=rad4 nach „Select Button 3“ hinzu. Im ausgewählten Zustand kann das HTML-Steuerelement mit dem Text „Select Button 4“ nur einmal hinzugefügt werden (Sie können wählen, ob Sie js native verwenden möchten). oder JQuery, um es zu implementieren)
function addradio() { if (!document.getElementById("rad4")) { var main = document.getElementById("radioContainer"); var input = document.createElement("input"); input.setAttribute("type", "radio"); input.setAttribute("id", "rad4"); var span = document.createElement("span"); var txt = document.createTextNode("选择按钮4"); span.appendChild(txt); main.appendChild(input); main.appendChild(span); } }
Es reicht aus, festzustellen, ob das Objekt existiert. if (!document.getElementById("rad4")) aber in jQuery ist if (!$("#rad4")) immer falsch. Ich dachte, es sei dasselbe wie Javascript, aber das ist nicht der Fall
In jQuery. Sobald es vom $("")-Wrapper umhüllt ist, ist es ein Objekt, nicht null oder undefiniert, also!$("#rad4")
Immer falsch. Der richtige Ansatz ist wie folgt
Wenn sich kein Objekt im Wrapper befindet, ist die Länge 0; das ist alles, was Sie brauchen
$(function () { $(".domtree div:eq(6) input:eq(1)").click(function () { if ($("#rad4").length < 1) { $("<input type='radio' id='rad4'> <span>选择按钮4</span>").appendTo($("#radioContainer")); } } ) } )