Как извлечь текстовые данные ребенка с помощью JQuery?

Я хочу извлечь данные "AT401726" из HTML, приведенного ниже

<td class="publicationInfoColumn">
  <h4>Publication info:</h4>
  AT401726<br>2008-08-15
</td>

И я решил это с помощью JQuery, рабочий код приведен ниже

('body').find('.publicationInfoColumn').clone().children().remove().end().text()

Есть ли другой лучший метод для извлечения данных из выше приведенного HTML? Есть много HTML, как выше, на моей просканированной HTML-странице

3 ответа

Решение

Текст, который вы ищите, для содержимого следующего родственного элемента элемента h4, поэтому попробуйте

var text = $.trim($('.publicationInfoColumn h4').prop('nextSibling').nodeValue);
console.log(text)

Демо: скрипка

Использование:

$('td.publicationInfoColumn').text();//for text

или же

$('td.publicationInfoColumn').html();//for html

Вы не должны быть в состоянии предназначаться для определенных текстовых узлов как это. Лучшее, что вы можете сделать, это:

$('.publicationInfoColumn').html().match(/\b.*(?=<br>)/)
Другие вопросы по тегам