|
|
|
| Подскажите как получить на Jquery текст после элемента <strong>
Структура HTML такая:
<div id="description-text">
<strong>Дата</strong>
Текст
<strong>Имя</strong>
Текст
</div>
|
___________
$('#description-text strong')->eq(1)->next()->text();
|
| |
|
|
|
|
|
|
|
для: OLi
(10.09.2012 в 22:25)
| | $('#description-text strong')->eq(1)->next()->text();
Это что за выражение такое?
Даже если его написать верно, то это означает - взять второй элемент strong, затем текст следующего за ним элемента. А за вторым элементом strong разве есть что-то? | |
|
|
|
|
|
|
|
для: confirm
(10.09.2012 в 22:33)
| | Я думал он возьмет 1 по счету элемент strong и после текст следующего элемента.
Как будет тогда верно? | |
|
|
|
|
|
|
|
для: OLi
(10.09.2012 в 23:13)
| | Нет, так не получится, вы ведь обращаетесь таким образом не к текстовым узлам (а это несколько иное понятие, чем элемент), а к элементам.
Получить текстовые узлы в jQuery позволяет метод .contents(). Если ваш пример для наглядности записать так:
<div id="description-text">
<strong>Дата</strong>
Текст 1
<strong>Имя</strong>
Текст 2
</div>
| то получается, что div имеет 4 текстовых узла, так как два таких узла заключены в элементы strong, причем второй из них "разбивает" следующий далее текст. Значит зная сколько текстовых узлов содержит элемент, можно обратиться к нужному (то, что отсчет начинается с индекса 0, думаю вы в курсе):
alert($('#description-text').contents().eq(3).text());
| выведет четвертый текстовый узел - "Текст 2". | |
|
|
|
|
|
|
|
для: OLi
(10.09.2012 в 23:13)
| | Или вам надо получить текст второго элемента strong? | |
|
|
|
|
|
|
|
для: confirm
(10.09.2012 в 23:30)
| | Нет, мне нужно получить текст Текст 1 после strong. | |
|
|
|
|
|
|
|
для: OLi
(10.09.2012 в 23:47)
| | Ну значит индекс соответствующий в моем примере укажите. | |
|
|
|
|
|
|
|
для: confirm
(11.09.2012 в 00:15)
| | Окей - спасибо | |
|
|
|