Я получил хорошее решение для получения комментариев HTML из дерева узлов HTML
var findComments = function(el) {
var arr = [];
for (var i = 0; i < el.childNodes.length; i++) {
var node = el.childNodes[i];
if (node.nodeType === 8) {
arr.push(node);
} else {
arr.push.apply(arr, findComments(node));
}
}
return arr;
};
var commentNodes = findComments(document);
// whatever you were going to do with the comment...
console.log(commentNodes[0].nodeValue);
из этой темы .Все, что я делал, это добавлял этот маленький цикл для распечатки всех узлов.
var arr = [];
var findComments = function(el) {
for (var i = 0; i < el.childNodes.length; i++) {
var node = el.childNodes[i];
if (node.nodeType === 8) {
arr.push(node);
} else {
arr.push.apply(arr, findComments(node));
}
}
return arr;
};
var commentNodes = findComments(document);
//I added this
for (var counter = arr.length; counter > 0; counter--) {
console.log(commentNodes[counter].nodeValue);
}
Я продолжаю получать это сообщение об ошибке:
RangeError: слишком много аргументов для вызова функцииeval код отладчика: 9: 13
РЕДАКТИРОВАТЬ: У меня была опечатка во время вставки изменил код с i-- на счетчик -