import * as cheerio from 'cheerio'; /* * LOADING */ let html = ``; // Preferred Method var $ = cheerio.load(html); // Directly load element cheerio(html); cheerio('ul', html); cheerio('li', 'ul', html); const $fromElement = cheerio.load($("ul").get(0)); if ($fromElement("ul > li").length !== 3) { throw new Error("Expecting 3 elements when passing `CheerioElement` to `load()`"); } $ = cheerio.load(html, { normalizeWhitespace: true, xmlMode: true }); $ = cheerio.load(html, { normalizeWhitespace: true, xmlMode: true, decodeEntities: true, lowerCaseTags: true, lowerCaseAttributeNames: true, recognizeCDATA: true, recognizeSelfClosing: true }); /** * Selectors */ var $el = $('.class'); var $multiEl = $('selector', 'selector', 'selector'); /** * Attributes */ // attr $el.attr('id'); $el.attr('id', 'favorite').html(); // data $el.data(); $el.data('apple-color'); $el.data('kind', 'mac'); // val $('input[type="text"]').val(); $('input[type="text"]').val('test').html(); // removeAttr $el.removeAttr('class').html(); // hasClass, addClass, removeClass, toggleClass $el.addClass('class').addClass('test'); $el.hasClass('test'); $el.removeClass('class').removeClass('test'); $el.addClass('red').removeClass().html(); $el.toggleClass('fruit green red').html(); // is $el.is('#id'); $el.is($el); $el.is(() => { return true; }); /** * Forms */ // serializeArray $('
').serializeArray(); /** * Traversing */ // find $el.find('li').length; $el.find($('.apple')).length; // .parent([selector]) $el.parent().attr('id'); $el.parent('.class').attr('id'); // .parents([selector]) $el.parents().length; $el.parents('.class').length; // .parentsUntil([selector][,filter]) $el.parentsUntil().length; $el.parentsUntil('.class').length; // .closest(selector) $el.closest(); $el.closest('.class'); // .next([selector]) $el.next().hasClass('class'); $el.next('.class').hasClass('class'); // .nextAll([selector]) $el.nextAll().length; $el.nextAll('.class').length; // .nextUntil([selector], [filter]) $el.nextUntil(); $el.nextUntil('.class'); // .prev([selector]) $el.prev().hasClass('class'); $el.prev('.class').hasClass('class'); // .prevAll([selector]) $el.prevAll().length; $el.prevAll('.class').length; // .prevUntil([selector], [filter]) $el.prevUntil(); $el.prevUntil('.class'); // .slice( start, [end] ) $el.slice(1).eq(0).text(); $el.slice(1, 2).length; // .siblings([selector]) $el.siblings().length; $el.siblings('.class').length; // .children([selector]) $el.children().length; $el.children('.class').text(); // .contents() $el.contents().length; // .each( function(index, element) ) $el.each((i, el) => { $(el).html(); }); // .map( function(index, element) ) $el.map((i, el) => { return $(el).text(); }).get().join(' '); // .filter $ = cheerio.load(html); $el.filter('.class').attr('class'); $el.filter($('.class')).attr('class'); $el.filter($('.class')[0]).attr('class'); $el.filter((i, el) => { return $(el).attr('class') === 'class'; }).attr('class'); // .not $el.not('.class').length; $el.not($('.class')).length; $el.not($('.class')[0]).length; $el.not((i, el) => { return $(el).attr('class') === 'class'; }).length; // .has $el.has('.class').attr('id'); $el.has($el[0]).attr('id'); // .first() $el.children().first().text(); // .last() $el.children().last().text(); // .eq( i ) $el.eq(0).text(); $el.eq(-1).text(); // .get( [i] ) $el.get(0).tagName; $el.get().length; // .index() // .index( selector ) // .index( nodeOrSelection ) $el.index(); $el.index('li'); $el.index($('#fruit, li')); // .end() $el.eq(0).end().length; // .add $el.add('.class').length // .addBack( [filter] ) $el.eq(0).addBack().length $el.eq(0).addBack('.class').length /** * Manipulation */ // .append( content, [content, ...] ) $el.append('
  • Plum
  • ').html(); $el.append('
  • Plum
  • ', '
  • Plum
  • ').html(); // .prepend( content, [content, ...] ) $el.prepend('
  • Plum
  • ').html(); $el.prepend('
  • Plum
  • ', '
  • Plum
  • ').html(); // .after( content, [content, ...] ) $el.after('
  • Plum
  • ').html(); $el.after('
  • Plum
  • ', '
  • Plum
  • ').html(); // .insertAfter( content ) $('
  • Plum
  • ').insertAfter('.class').html(); // .before( content, [content, ...] ) $el.before('
  • Plum
  • ').html(); $el.before('
  • Plum
  • ', '
  • Plum
  • ').html(); // .insertBefore( content ) $('
  • Plum
  • ').insertBefore('.class').html(); // .remove( [selector] ) $el.remove().html(); $el.remove('.class').html(); // .replaceWith( content ) $el.replaceWith($('
  • Plum
  • ')).html(); // .empty() $el.empty().html(); // .html( [htmlString] ) $el.html(); $el.html('
  • Mango
  • ').html(); // .text( [textString] ) $el.text(); $el.text('text'); // .wrap( content ) // See https://github.com/cheeriojs/cheerio/issues/731 // $el.wrap($('
    ')).html(); // .css $el.css('width'); $el.css(['width', 'height']); $el.css('width', '50px'); /** * Rendering */ $.html(); $.html('.class'); $.xml(); /** * Miscellaneous */ // .clone() #### $el.clone().html(); /** * Utilities */ // $.root $.root().append('').html(); // $.contains( container, contained ) $.contains($el[0], $el[0]); // $.parseHTML( data [, context ] [, keepScripts ] ) $.parseHTML(html); $.parseHTML(html, null, true); /** * Not in doc */ $el.toArray();