2012-07-29 3 views
0

У меня Outer DIVS, как это.Получение текста Outer DIV с использованием JQuery

<Input id ="SaveMe" value="Click" type="submit" > 
</Input> 

<DIV id="DivOne"> 
    <DIV >First Content 
     <DIV>X 
     </DIV> 
    </DIV> 
     <DIV>Second Content 
      <DIV>X 
      </DIV> 
    </DIV> 

</DIV> 

Я хотел бы пройти через внешние DIV и получить текст. Я использую код JQuery.

$("#SaveMe").click(function() { 
    $("#DivOne").children().each(function(index, elem) { 
     alert($(elem).text()); 
    }); 
}); 

Но это показывает первое содержание X, Second Content X. Я был в надежде на «каждый цикл» будет цикл через внешний DIV, а затем внутренний DIVs.How может я игнорировать цикл через внутренние DIVs (DIV с содержимым X). http://jsfiddle.net/VVGRc/1/

Спасибо!

+0

возможно дубликат [Получение текста внутри элемента за исключением decendants] (http://stackoverflow.com/questions/6487777/getting- text-in-element-exclusion-decendants) –

ответ

2

Фильтр только textnodes:

$("#SaveMe").click(function(e) { 
    $("#DivOne").children().each(function(index, elem) { 
     var text = $(elem).contents().filter(function() { 
      return this.nodeType == 3; 
     }).text(); 
     alert(text); 
    }); 
});​ 

FIDDLE

Смежные вопросы