JQuery: вернуть HTML от div, а не детей - PullRequest
3 голосов
/ 08 октября 2010

Если я нажму #parent, я хочу вернуть текст внутри него, а не вернуть текст внутри вложенного
слои (#child-parent, #child)

<div id='parent'>
   this text is for parent

   <div id='child-parent'> 
     this text if for child-parent  

       <div id='child'>
        and this text is for child.   
       </div>   

   </div>

</div>


это:
$('#parent').html() = "this text is for parent"

а не это:
$('#parent').html() = "this text is for parent this text is for child-parent and this text is for child"

Ответы [ 2 ]

4 голосов
/ 08 октября 2010

Если структура всегда выглядит так, вы можете позвонить:

var mytext = $('#parent').contents().first().text();

Пример: http://www.jsfiddle.net/YjC6y/

4 голосов
/ 08 октября 2010

Вы можете получить это следующим образом:

$('#parent').clone().children().remove().end().html()

Вы можете проверить это здесь , вы можете захотеть сделать звонок $.trim(), вот так .

Еще одна альтернатива - это циклическая обработка текстовых узлов, например:

$('#parent').contents().filter(function() { return this.nodeType == 3; }).text()

Вы можете проверить это здесь или урезанная версия здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...