2013-02-27 2 views
0

다음과 같이 DOM 요소가 있습니다.빈 노드에 대한 jquery 검사

<div id="myDiv"> 
<jstl:tag1 /> 
<jstl:tag2 /> 
</div> 

이제 알 수 있듯이, 텍스트 값을 반환 할 수있는 JSTL 태그가 있습니다.

내 DOM 요소 "myDiv는"jQuery를 사용하여 비어있는 경우 마지막으로 확인해야

..

불행하게도 나는 a를 JSTL 태그 값을 retun하지 않는 $("#myDiv").html() == "" 같은 경우에도 간단하고, 내가 할 줄 바꿈 문자를 할 수 없다 div 안에 \ n 및 모두

빈 노드 확인은 어떻게합니까?

+0

당신이 "빈"무엇을 의미합니까? 비 공백 텍스트 노드가 포함되어 있지 않습니까? –

+0

안녕하세요 Testndtv - 내 대답을 참조하십시오. 당신은 .trim 개조를 할 수 있습니다. –

답변

0

당신은 정규식 테스트

/\w+/.test($("#myDiv").html()) 

그것은 알파 - 숫자 문자와 같은 하나 개 이상의 단어 문자를 테스트 할을 할 수 있습니다.

1

방법 :

$('#myDiv').html().trim() == ""; 
0

대신 당신은 요소 내부가 아닌 공백 노드의 수를 테스트 할 수

$("#myDiv").text().trim(); 
0

HTML()이 같은 무언가를 사용하여 텍스트를() 시도 :

var nodes = $('#myDiv')[0].childNodes; 
var nonempty = []; 
for(i=0; i<nodes.length;i++){ 
    if(nodes[i].nodeType !== 3 || nodes[i].nodeValue.trim() !== ""){ 
     nonempty.push(nodes[i]); 
    } 
} 

//this should be 0 if empty 
alert(nonempty.length); 

다음은 데모입니다. http://jsfiddle.net/DWx8R/

0
var isEmpty = $.trim($('#myDiv').text()).length === 0; 

FIDDLE

관련 문제