Jquery - получить текст для элемента без текста детей
например, у нас есть этот файл
<div id="mydiv">
some text here
<div id="inner div">
text for inner div
</div>
</div>
Мне нужно получить текст #mydiv
только с некоторым кодом, подобным этому:
alert($('#mydiv').text()); // will alert "some text here"
Ответы
Ответ 1
эй попробуй это пожалуйста ": http://jsfiddle.net/MtVxx/2/
Хорошая ссылка для вашего конкретного случая здесь: http://viralpatel.net/blogs/jquery-get-text-element-without-child-element/ (будет получен только текст элемента)
Надеюсь, что это поможет, :)
код
jQuery.fn.justtext = function() {
return $(this).clone()
.children()
.remove()
.end()
.text();
};
alert($('#mydiv').justtext());
Ответ 2
В настоящее время принятый ответ довольно ужасен с точки зрения производительности, поэтому я чувствовал себя обязанным написать более легкий:
$.fn.mytext = function() {
var str = '';
this.contents().each(function() {
if (this.nodeType == 3) {
str += this.textContent || this.innerText || '';
}
});
return str;
};
console.log($('#mydiv').mytext());