그렇습니다. 최근 jQuery 교육을 할 때 jQuery에서 요소 존재 여부를 판단할 때 문제가 발생했습니다.
질문은 다음과 같습니다. "Select Button 3" 뒤에 Id=rad4를 추가하세요. 선택된 상태에서 "Select Button 4"라는 텍스트가 있는 HTML 컨트롤은 한 번만 추가할 수 있습니다(js 기본 사용을 선택할 수 있습니다). 또는 JQuery로 구현)
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); } }
물체의 존재 여부를 판단하는 것만으로도 충분합니다. if (!document.getElementById("rad4")) 하지만 jQuery에서는 if (!$("#rad4"))가 항상 false입니다. javascript와 같은 줄 알았는데 그렇지 않습니다
jQuery에서. $("") 래퍼로 래핑되면 null이나 정의되지 않은 개체가 아니므로!$("#rad4")
항상 거짓입니다. 올바른 접근 방식은 다음과 같습니다
래퍼에 개체가 없으면 길이는 0이 됩니다.
$(function () { $(".domtree div:eq(6) input:eq(1)").click(function () { if ($("#rad4").length < 1) { $("<input type='radio' id='rad4'> <span>选择按钮4</span>").appendTo($("#radioContainer")); } } ) } )