cheerio-iterable

1.0.0 • Public • Published

cheerio-iterable

Adds iterable functionality to the cheerio module, and allows standard array functionality to used on cheerio/jquery elements.

Install It

npm install --save cheerio-iterable

Use it

var cheerio = require('cheerio-iterable');
var $ = cheerio.load(html);

Examples

Iterating over group of elements

html/xml:

<div>
  <h1>foo</h1>
  <h1>bar</h1>
</div>

js:

for(member of $('h1')){
  console.log("Text: "+member.text());
}

output:

Text: foo
Text: bar

Iterating over children of an element

html/xml:

<div id="content">
  <h1>foo</h1>
  <h2>bar</h2>
</div>

js:

for(child of $('#content').children()){
  console.log("Text: "+child.text());
}

output:

Text: foo
Text: bar

Using the iterable property

html/xml:

<div>
  <h1>First</h1>
  <h1>Second</h1>
</div>
<div>
  <h3>Third</h3>
</div>

js:

for (member of [...$('h3'),...$('h1')]) {
  console.log(member.text());
}

output:

Third
First
Second

Array prototypes

Most of the array prototype methods have been implemented for cheerio (some replacing existing functions). The Array.prototype.find function is implemented under element.arrayfind for a cheerio element "element".

Using the map function:

html/xml:

<div id="content">
  <h1>Hello</h1>
  <h2>World</h2>
</div>

js:

var array = $('#content')
  .children()
  .map((element)=>element.text());
console.log(array);

output:

['Hello', 'World']

Using the reverse function

js:

var array = $('#content')
  .children()
  .reverse()
  .map((element)=>element.text());
console.log(array);

html/xml:

<div id="content">
  <h1>Hello</h1>
  <h2>World</h2>
</div>

output:

['World', 'Hello']

Readme

Keywords

none

Package Sidebar

Install

npm i cheerio-iterable

Weekly Downloads

1

Version

1.0.0

License

ISC

Last publish

Collaborators

  • henguin1001