>  기사  >  웹 프론트엔드  >  요소가 존재하는지 확인하는 jQuery의 문제에 대한 예제 토론_jquery

요소가 존재하는지 확인하는 jQuery의 문제에 대한 예제 토론_jquery

WBOY
WBOY원래의
2016-05-16 16:41:251278검색

그렇습니다. 최근 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")); 
} 
} 
) 

} 
)
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.