Как получить имя элемента в 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
Другие вопросы по тегам