2013-10-06 5 views
2

Я HTML-Jquery экстракт текст с использованием .text(), за исключением определенного тега

<td class="abc"><b><span>NO</span>YES</b> ALL</td> 

Я пытаюсь получить текст класса аЬса без поверочного тега. Для примера. в выше HTML я хочу только «ДА ВСЁ».

$('td.abc').text() returns NOYES ALL 

$('td.abc').clone.find('span').remove().text() returns NO 

Может кто-нибудь помочь мне получить весь текст в HTML выше, за исключением определенного тега, здесь, за исключением диапазона тега, так что я мог бы вернуться «ДА ВСЕ». Я хочу однострочное решение.

+1

Я сомневаюсь, что вторая строка возвращает "ALL". Предположим, что '.clone.find' - это просто опечатка (это должно быть' .clone(). Find', он, вероятно, возвращает «NO», текст элемента 'span'. –

+0

@FelixKling, спасибо за указание. Я исправил свою ошибку. – agaggi

ответ

3

.clone() является метод не свойство, а также, так как вы используете .find() после удаления элемента, вы должны использовать .end() метод для получения предыдущей коллекции, то есть в td элемента.

var text = $('td.abc').clone().find('span').remove().end().text(); 

http://jsfiddle.net/keY9Q/

+0

Спасибо, я забыл использовать .end() – agaggi

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