Игнорирование элементов с одинаковым тегом, но с разными классами
<td><center><span class="image"><img src=""></span></center></td>
<td><center>test</center></td>
<td><center>test2</center></td>
Существует такая страничка. Три строчки с одинаковым тегом td. Каким способ можно текст строчек занести в массив, при этом, чтобы строчка с классом "image" пропускалась?
Мой код:
var $ = cheerio.load(body);
const player = [];
$('td').each(function(i, elem) {
player[i] = $(this).text()
});
Вывод: ['', 'test', 'test2']
Ответы (1 шт):
Автор решения: nörbörnën
→ Ссылка
const cheerio = require('cheerio');
const body = `<html><body><table><tr>
<td><center><span class="image"><img src=""></span></center></td>
<td><center>test</center></td>
<td><center>test2</center></td>
</tr></table></body></html>`;
const $ = cheerio.load(body);
const player = [];
$('td:not(:has(.image))').each(function (i, elem) {
player[i] = $(this).text()
});
console.log(player)