Skip to main content

Interface: CheerioAPI()

A querying function, bound to a document created from the provided markup.

Also provides several helper methods for dealing with the document as a whole.

Extends

  • StaticType

CheerioAPI<T, S>(selector?, context?, root?, options?): Cheerio<S extends SelectorType ? Element : T>

A querying function, bound to a document created from the provided markup.

Also provides several helper methods for dealing with the document as a whole.

Type Parameters

T extends AnyNode

S extends string

Parameters

selector?: S | BasicAcceptedElems<T>

Either a selector to look for within the document, or the contents of a new Cheerio instance.

context?: null | BasicAcceptedElems<AnyNode>

Either a selector to look for within the root, or the contents of the document to query.

root?: BasicAcceptedElems<Document>

Optional HTML document string.

options?: CheerioOptions

Returns

Cheerio<S extends SelectorType ? Element : T>

Example

$('ul .pear').attr('class');
//=> pear

$('li[class=orange]').html();
//=> Orange

$('.apple', '#fruits').text();
//=> Apple

Optionally, you can also load HTML by passing the string as the selector:

$('<ul id="fruits">...</ul>');

Or the context:

$('ul', '<ul id="fruits">...</ul>');

Or as the root:

$('li', 'ul', '<ul id="fruits">...</ul>');

Defined in

src/load.ts:66

Deprecated

load()

load: (content, options?, isDocument) => CheerioAPI

The .load static method defined on the "loaded" Cheerio factory function is deprecated. Users are encouraged to instead use the load function exported by the Cheerio module.

Parameters

content: string | AnyNode | AnyNode[] | Buffer

options?: null | CheerioOptions

isDocument?: boolean = true

Returns

CheerioAPI

Deprecated

Use the load function exported by the Cheerio module.

Example

const $ = cheerio.load('<h1>Hello, <span>world</span>.</h1>');

Defined in

src/load.ts:103

Other

contains

Re-exports contains


merge

Re-exports merge


fn

fn: Cheerio<any>

Mimic jQuery's prototype alias for plugin authors.

Defined in

src/load.ts:88

Static

extract()

extract<M>(this, map): ExtractedMap<M>

Extract multiple values from a document, and store them in an object.

Type Parameters

M extends ExtractMap

Parameters

this: CheerioAPI

map: M

An object containing key-value pairs. The keys are the names of the properties to be created on the object, and the values are the selectors to be used to extract the values.

Returns

ExtractedMap<M>

An object containing the extracted values.

Inherited from

StaticType.extract

Defined in

src/static.ts:248


html()

html(this, options)

html(this, options?): string

Renders the document.

Parameters

this: CheerioAPI

options?: CheerioOptions

Options for the renderer.

Returns

string

The rendered document.

Inherited from

StaticType.html

Defined in

src/static.ts:58

html(this, dom, options)

html(this, dom?, options?): string

Renders the document.

Parameters

this: CheerioAPI

dom?: BasicAcceptedElems<AnyNode>

Element to render.

options?: CheerioOptions

Options for the renderer.

Returns

string

The rendered document.

Inherited from

StaticType.html

Defined in

src/static.ts:67


parseHTML()

parseHTML(this, data, context, keepScripts)

parseHTML(this, data, context?, keepScripts?): AnyNode[]

Parses a string into an array of DOM nodes. The context argument has no meaning for Cheerio, but it is maintained for API compatibility with jQuery.

Parameters

this: CheerioAPI

data: string

Markup that will be parsed.

context?: unknown

Will be ignored. If it is a boolean it will be used as the value of keepScripts.

keepScripts?: boolean

If false all scripts will be removed.

Returns

AnyNode[]

The parsed DOM.

Alias

Cheerio.parseHTML

See

https://api.jquery.com/jQuery.parseHTML/

Inherited from

StaticType.parseHTML

Defined in

src/static.ts:152

parseHTML(this, data)

parseHTML(this, data?): null

Parameters

this: CheerioAPI

data?: null | ""

Returns

null

Inherited from

StaticType.parseHTML

Defined in

src/static.ts:158


root()

root(this): Cheerio<Document>

Sometimes you need to work with the top-level root element. To query it, you can use $.root().

Parameters

this: CheerioAPI

Returns

Cheerio<Document>

Cheerio instance wrapping the root node.

Example

$.root().append('<ul id="vegetables"></ul>').html();
//=> <ul id="fruits">...</ul><ul id="vegetables"></ul>

Alias

Cheerio.root

Inherited from

StaticType.root

Defined in

src/static.ts:203


text()

text(this, elements?): string

Render the document as text.

This returns the textContent of the passed elements. The result will include the contents of <script> and <style> elements. To avoid this, use .prop('innerText') instead.

Parameters

this: void | CheerioAPI

elements?: ArrayLike<AnyNode>

Elements to render.

Returns

string

The rendered document.

Inherited from

StaticType.text

Defined in

src/static.ts:124


xml()

xml(this, dom?): string

Render the document as XML.

Parameters

this: CheerioAPI

dom?: BasicAcceptedElems<AnyNode>

Element to render.

Returns

string

THe rendered document.

Inherited from

StaticType.xml

Defined in

src/static.ts:104