Перебор TR в таблице с помощью Cheerio.jsJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Перебор TR в таблице с помощью Cheerio.js

Сообщение Anonymous »

У меня возникли проблемы с использованием селекторов, доступных для Cheerio.js, который я использую на своем сервере Node. Ядро предположительно основано на jQuery, однако я не могу заставить его работать, используя тот же выбор, что и при использовании встроенного jQuery.
У меня есть DOM, который выглядит примерно так:
У меня есть DOM, который выглядит примерно так:
п>


few cells here

These are the rows I want



Поскольку на странице есть две таблицы с классом «листинг», я не могу выбрать их напрямую, поэтому мне нужна ссылка на div с классом «тест». Выбор, который я могу выполнить с помощью jQuery, будет примерно таким:
$('div.test tbody tr')

Но это не работает с Cheerio. Если я запущу $('div[class="test"] tr') я получу все строки таблицы, даже заголовочные, так что у меня это не работает.
Есть предположения?
Обновление:
Это реальный код, который я выполняю (не работает):
// Load the html
var $ = cheerio.load(html, {
normalizeWhitespace: true
});

$('div.tillgodo tbody tr').each(function(){
console.log("Found credited course...");
var children = $(this).children();
var credits = parseFloat($(children[3]).text().replace(',', '.')); // We need to replace comma with a dot since parseFloats only supports dots by design

var row = {
"course" : $(children[1]).text().trim(),
"grade" : null,
"credits" : credits,
"date" : $(children[4]).text()
};

// Push course to JSON object
console.log("Push course to object...");
console.log("------------------------------------------\n");
data.credited_courses.push(row);
data.credited_courses_credits += parseFloat(credits);
});

Следующий код работает для первой таблицы:
$('tr.incomplete.course').each(function(i, tr){
console.log("This is course nr: " + parseInt(course_count+1));
console.log("Found incompleted course...");
var children = $(this).children();
var credits = parseFloat($(children[2]).text().replace(',', '.').match(/(\+|-)?((\d+(\.\d+)?)|(\.\d+))/)[0]); // Filter out any parentheses and odd characters
var row = {
"course" : $(children[1]).text(),
"grade" : $(children[3]).text(),
"credits" : credits,
"date" : $(children[5]).text()
};

// Sum the total amount of credits for all courses
console.log("Add credits to incompleted_credits...");
data.incompleted_credits += credits;

console.log("Push course to object...");
data.incompleted_courses.push(row);
course_count++;
});

Когда я говорю, что это не работает, это означает, что возвращаемый мной объект JSON не содержит ожидаемых строк из второй таблицы.
Обновление 2
Таблица, которую я хочу очистить:

Tillgodoräknanden



Kurskod
Kursnamn
Beslutsfattare
Poäng
Datum





Summa tillgodoräknade poäng:
10,5






Valfria kurser
xxx
10,5
2013-06-03







Подробнее здесь: https://stackoverflow.com/questions/283 ... cheerio-js
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Перебор TR в таблице с помощью Cheerio.js
    Anonymous » » в форуме Jquery
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Перебор TR в таблице с помощью Cheerio.js
    Anonymous » » в форуме Jquery
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Получить все дочерние узлы div с помощью Cheerio? [дубликат]
    Anonymous » » в форуме Jquery
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Cheerio возвращает неопределенное значение при вызове .each() для элементов
    Anonymous » » в форуме Jquery
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как добавить новые строки до и после элементов div в Cheerio
    Anonymous » » в форуме Jquery
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Jquery»