/ / JQuery Избор на текст в родителски div - jquery, html, изберете, всеки

JQuery избиране на текст в родителска диаграма, html, изберете, всеки

Понастоящем имам следното

<div class ="parent">
<div class="inner">Hello
<div>Goodbye</div>
</div>
</div>

<div class ="parent">
<div class="inner">Hello
<div>Goodbye</div>
</div>
</div>

Понастоящем използвам $(div.parent).each(function(index,item) да премине през всеки родител, който работи перфектно.

Моят проблем е, че трябва да избера думата здравей. В момента използвам $(item).text() но винаги се връща HelloGoodBye, което е проблем. Трябва да игнорирам всеки друг div.

Всяка помощ оценявам благодаря.

Отговори:

0 за отговор № 1

Опитвам

$("div.parent").not(".parent .inner div").each(function(index,item)

алтернативно

$(div.parent:not(".inner div").each(function(index,item)

http://api.jquery.com/not/


1 за отговор № 2

Вместо да използвате jQuery.text() метод, аз ще препоръча намирането на първата childNode който ще бъде този текстови код, който търсите:

​var divs = document.getElementsByClassName("inner"),
i = 0;
for (i = divs.length; i--;) {
console.log(divs[i].childNodes[0]);
}

ИЛИ

var divs = $(".inner");
divs.each(function() {
console.log(this.childNodes[0]);
});

Имайте предвид, че childNodes Методът няма да бъде разпознат от jQuery.


0 за отговор № 3

Темата беше обсъдена преди тук с куп подходящи решения: Използване


0 за отговор № 4

Можете да постигнете това, като клонирате всеки елемент, премахнете нежелания div и след това вземете текста.

$("div.parent div.inner").each(function(index,item) {
$this = $(item).clone();
$this = $this.find("div").remove();
$this.text();
});​

Ето я скрипт на JS с кода и HTML по-горе в действие: http://jsfiddle.net/L8T7s/