powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / вложенные <div> - как извлечь текст?
12 сообщений из 12, страница 1 из 1
вложенные <div> - как извлечь текст?
    #38267384
Фотография ХБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имеется вот такая конструкция:
Код: html
1.
2.
3.
<div id="div1">текст 1
   <div id="div2" style="display:none">текст 2</div>
</div>


есть jQuery селектор
$("#div1").<???>
как мне выбрать текст 1?
Я понимаю, что можно выбрать $("#div1").html() и из него выкинуть все между "<"и ">"

а как-то по-другому можно?
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267396
Фотография ХБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучший способ найти ответ - запостить вопрос на sql.ru, после этого ответ приходит в голову сам собой:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
  v_text=$("#div1")
           .clone()
           .children()
           .remove()
           .end()
           .text();
  alert(v_text);
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267460
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХБ, почитайте документацию для метода .children() . Там есть интересное замечание:.children()Note also that like most jQuery methods, .children() does not return text nodes; to get all children including text and comment nodes, use .contents() .
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267464
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

автор в курсе — почитай решение _внимательно_
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267481
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, почитал, так и не понял зачем использовать .clone().children().remove().end() вместо .contents().first().
Может не понял из-за того, что второй час ночи?
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267510
Фотография ХБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAAntonariy, почитал, так и не понял зачем использовать .clone().children().remove().end() вместо .contents().first().
Может не понял из-за того, что второй час ночи?
Вот как работает .clone().children().remove().end():
создается копия объекта $("#div1")
выбираются все его вложенные объекты
затем они удаляются
выбирается начальный объект из стека
выбирается его text()
теперь, надеюсь, понятно?
Если не поняли, сообщите пожалуйста, я дам оригинальную ссылку.
Ваш метод .contents()
.first()
.text()
даёт те же результаты, так что это вполне приемлемый вариант.
Спасибо.
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267585
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAAntonariy, почитал, так и не понял зачем использовать .clone().children().remove().end() вместо .contents().first().
Может не понял из-за того, что второй час ночи?Потому что автор не знал про существование contents(), но, обладая мозгом, придумал инверсивное решение.
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267852
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, так я и обратил его внимание на замечание, где упоминается .contents() . Почитай _внимательно_
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267880
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХБskyANAAntonariy, почитал, так и не понял зачем использовать .clone().children().remove().end() вместо .contents().first().
Может не понял из-за того, что второй час ночи?
Вот как работает .clone().children().remove().end():
создается копия объекта $("#div1")
выбираются все его вложенные объекты
затем они удаляются
выбирается начальный объект из стека
выбирается его text()
теперь, надеюсь, понятно?
Если не поняли, сообщите пожалуйста, я дам оригинальную ссылку.
Ваш метод .contents()
.first()
.text()
даёт те же результаты, так что это вполне приемлемый вариант.
Спасибо.Я понял Ваше решение.

Только зачем так сложно? С DOM плохо знакомы?

Исходя из структуры DOM "текст 1" - это первый дочерний узел (текстовый) элемента <div id="div1">.
Задача сводится к его получению: к получению первого дочернего узла.
Проблема в том, что у него тип текстовый, следовательно .children() его не вернёт, следовательно используем .contents().
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267896
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

у тебя режим кэпа закоротило? всем все стало понятно еще ночью.
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38267913
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, меня твоё хамство и "почитай _внимательно_" закоротило.
...
Рейтинг: 0 / 0
вложенные <div> - как извлечь текст?
    #38268021
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этих случаях пользуются удобным интерфейсом.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / вложенные <div> - как извлечь текст?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]