Как извлечь текстовые данные ребенка с помощью 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>)/)