0
해당 텍스트가있는 모든 요소를 얻을 수 있습니다 jQuery에서와 마찬가지로. html 본문의 일반 텍스트를 가져와야하지만 그뿐만 아니라 해당 요소와 숫자를 가져와야합니다. IE는 : 일반 텍스트가 세 번째 단락 요소에서 발견 된 경우, 나는 같은 것이다 :DOM 탐색은 - 어떻게 당신이 HTML 텍스트 트래버스를 구문 분석 할 수 있습니다 <strong>힘내라</strong>의 <strong>노드 서버 측</strong>에 jQuery를 유사한 라이브러리를 사용하고 그래서
{
text: <element plaintext>,
element: "p-3"
}
을 나는 현재이 작업을 수행하려고 다음과 같은 기능이 있습니다 내가가는 건가요
var plaintext_elements = traverse_tree($('body'));
function traverse_tree(root, found_elements = {}, return_array = []) {
if (root.children().length) {
//root has children, call traverse_tree on that subtree
traverse_tree(root.children().first(), found_elements, return_array);
}
root.nextAll().each(function(i, elem) {
if ($(elem).children().length) {
//if the element has children call traverse_tree on the element's first child
traverse_tree($(elem).children().first(), found_elements, return_array)
}
else {
if (!found_elements[$(elem)[0].name]) {
found_elements[$(elem)[0].name] = 1;
}
else {
found_elements[$(elem)[0].name]++
}
if ($(elem).text() && $(elem).text != '') {
return_array.push({
text: $(elem).text(),
element: $(elem)[0].name + '-' + found_elements[$(elem)[0].name]
})
}
}
})
if (root[0].name == 'body') {
return return_array;
}
}
을 올바른 방향으로, 다른 것을 시도해야합니까? 이것에 대한 도움을 주시면 감사하겠습니다. 다시 이것은 이 아니라 jQuery이지만 서버 측 Cheerio입니다.
를 사용하는 경우 탐색의 많은이 당신이 가진 요소를 무시 행복 것 같습니다 필요하지 않은 생각 (그들은 그러나 매우 유사) children _and_ text? '
text
dt의 'dt'와 마찬가지로, 그 문제는 내가 만난 문제 중 하나입니다. 나는 '