Как получить имя элемента в cheerio с помощью node.js
Как получить имя элемента в cheerio?
Эквивалент JQuery будет .attr('name')
но это возвращает undefined
в приветствии.
1 ответ
Решение
Полагаю, есть только один случай, когда $someElement.attr('name')
возвращается undefined
- если нет атрибута name
на этом элементе. Например...
var cheerio = require('cheerio'),
$ = cheerio.load(
'<input id="one" type="input" /><input id="two" name="some_name" />');
console.log( $('#one').attr('name') ); // undefined
console.log( $('#two').attr('name') ); // some_name
Обратите внимание, что <name>
Атрибут применим только к следующему набору элементов (MDN):
<a>, <applet>, <button>, <form>, <frame>, <iframe>, <img>,
<input>, <map>, <meta>, <object>, <param>, <select>, <textarea>
Чтобы получить имя самого элемента (на самом деле это tagName, но Cheerio его абстрагирует), используйте name
свойство базового элемента, обернутого в контейнер Cheerio, например:
console.log( $('#one')[0].name ); // input
console.log( $('#two')[0].name ); // input