예:
document.getElementById("someID ").innerText ("hi");
ID가 "someID"인 요소가 없으면 Javascript 실행 오류가 발생합니다. document.getElementById("someID")는 null입니다.
올바른 작성 방법은
obj = document.getElementById("someID") ;
if (obj){
obj.innerText("hi")
}
그래서 jQuery에서 페이지 요소가 존재하는지 어떻게 확인합니까? 위의 전통적인 Javascript 작성 방법을 참고하면 우리가 가장 먼저 생각하는 방법은 다음과 같습니다.
코드 복사 코드는 다음과 같습니다. 다음과 같습니다:
if ($("#someID")){
$("#someID").text("hi")
}
그런데 이렇게 쓰면 틀려요! jQuery 객체에는 항상 반환 값이 있으므로 $("someID")는 항상 TRUE이고 IF 문은 판단 역할을 하지 않습니다. 올바른 작성 방법은 다음과 같습니다.
if ( $("# someID").length > 0 ) {
$("#someID").text("hi")
}
참고: 페이지 요소가 존재하는지 확인합니다. jQuery에서는 실제로 필요하지 않습니다. jQuery 자체는 존재하지 않는 요소에 대한 작업을 무시하고 오류를 보고하지 않습니다.
$(document).ready(function( ){
var value=$('#btn_delXml').length;
if(value>0)
{
alert('Extsts')
}
else
{
alert('not Extsts');
}
})
다음은 유사하지만 일부 텍스트 지침입니다.
이 때 페이지에 로드된 콘텐츠에 따라 다양한 작업을 수행해야 합니다. 이때 이 요소(또는 개체)가 페이지에 존재하는지 확인하는 것이 특히 중요합니다. JavaScript를 작성하여 구현하는 것이 더 번거로울 수 있지만 jQuery는 이 기능을 쉽게 구현할 수 있습니다.
우리는 jQuery 선택기가 페이지의 요소를 얻을 때 요소의 존재 여부에 관계없이 객체를 반환한다는 것을 알고 있습니다. 예:
var my_element = $("#element_Id" )
이때 변수 my_element는 객체이므로 이 객체는 속성 길이를 가지므로 다음 코드를 사용할 수 있습니다. 요소(객체)가 존재하는지 확인하려면:
if(my_element.length>0) {
경고("요소가 존재합니다.")
}else{
경고("요소를 찾을 수 없습니다.")