2010-08-01 2 views
1

2 개의 다른 페이지에 대해 1 개의 j를 사용하고 있습니다. 1 페이지에는 다른 페이지가있는 div가 없습니다. 내가 값을 제출 때, 나는 보여주는 것도()이 없기 때문에 나는 오류가 의심div가없는 경우 Jquery

$('.description'+save_id+'').html(description_val).show(); //update category description 

에 대한 $( JS 오류

를 얻을. 거기에 div.description 존재하지 않으면 검색 기능을 수행하지 않는 데 사용할 수있는 짧은 코드가 있습니까?

+0

의 jQuery 방법은 불평하지 않습니다 . 해당 페이지에 대해 jQuery를로드 했습니까? 그렇지 않으면 * "$'undefined"* 오류가 발생합니다. – user113716

+0

예 다른 함수가 작동하기 때문에 jquery를 가지고 있습니다. –

+0

페이지에'.description' 요소가 없는지 상관 없습니다. 오류가 발생하지 않습니다. 그러나'description_val'의 가치는 무엇입니까? * that *이 정의되지 않으면 실패합니다. – user113716

답변

0

변수가 undefined 인 경우 description_val이면 코드가 실패합니다.

description_valundefined이 아닌 경우 코드를 실행하기 위해 if() 문을 사용해보십시오.

if(description_val) { 
    $('.description'+save_id+'').html(description_val).show(); 
} 

또는 어떤 이유로 description_val의 값이 false에 달합니다 값을 될 수있는 경우, 다음을 수행하십시오 셀렉터에 일치하는 항목이없는 경우

if(description_val !== undefined) { 
    $('.description'+save_id+'').html(description_val).show(); 
} 
+0

감사합니다. patrick이 작동합니다! –

+0

@Cyber ​​- 오신 것을 환영합니다. :영형) – user113716

2

jQuery는 수행 할 것이없는 경우 오류가 발생하지 않습니다. show()은 문제가되지 않습니다. 질문에 답하기 위해 $에서 반환 된 jQuery 객체의 length 속성을 확인할 수 있습니다.

+0

다른 말로하면 : if ($ ('. description'+ save_id) .length === 0) {...}' – strager

+0

길이를 어떻게 확인하나요? 그러나, js의'.description '+ save_id +'는 페이지에 존재하지 않는 div .description14 또는 .description12 .. etc'에 대한 것입니다. show()는 문제가 아니지만 div라고 생각합니까? –

+0

@ Cyber ​​Junkie, 무슨 문제가 있습니까? 너는 불분명 해. '.show()'와'.html()'은'$ (...) '에 의해 요소가 선택되지 않아도 작동합니다; 그들은 단지 아무것도하지 않습니다. – strager

0

게시 한 내용에서 사용중인 변수가이 단계에서 모두 정의되어 있는지 확인합니다. 존재 여부를 확인하려면 다음을 수행하십시오.

if ($('.description' + save_id).size() > 0) { 
    // code here that operates on the div. 
} 

이는 본질적으로 길이 속성을 확인하는 구문적인 대안입니다.

관련 문제