2011-08-06 3 views
1

에서의 자손이 코드에만 선택한 요소의 텍스트를 얻을 : 워드 프로세서에 따르면하지 JQuery와

$('p:not(:has(iframe))').filter(function(){ 
    return $(this).text().length > 150;}) 
    .slice(0,1).parent(); 

을,는 .text는 자손의 텍스트를 가져오고 궁금 해서요 어떻게 내가 할 수있는 선택한 요소 만 텍스트로 선택하고 하위 요소는 선택하지 마십시오.

답변

0

귀하의 필요에 맞습니까?

$('p:not(:has(iframe))').filter(function(){ 
    var total_length = 0; 
    for (var i=0; i<this.childNodes.length; ++i) 
     if (this.childNodes[i] instanceof Text) 
      total_length += this.childNodes[i].length; 

    return total_length > 150; 
}).slice(0,1).parent(); 

(이것은 당신이 DOM을 통과하는 각 노드를 복제 할 필요가 방지)
2

이것은 가장 좋은 방법이지만 ... 작동한다고 생각합니다.

$('p:not(:has(iframe))').filter(function(){ 
    var _cp = $(this).clone(); 
    var tiw = _cp.children().remove().end().text(); 

    return tiw.length > 150; 
}).slice(0,1).parent(); 

...