当前位置:首页 > 日记 > 正文

Nodejs使用jQuery选择器操作DOM

Nodejs使用jQuery选择器操作DOM
注:这是两年多的老项目,所以你可以在Nodejs选择器使用jQuery,作为后台操作前端DOM HTML / XML,在浏览器兼容的代码去除,比jsdom运行快8倍。我们之前提到的jsdom有严重的性能问题:调试调试js:我们是内存泄漏和无限循环的位置

再见

快速,灵活,在jQuery服务器端使用。

简介

测试服务器端HTML:

复制代码代码如下所示:

VaR再见=需要('cheerio),

$ = cheerio.load('Hello World);

('h2美元。标题)。文本(你好那里!);

$('h2)。AddClass(欢迎你);

$ html();

在那里您好!
安装

新安装的再见

功能

熟悉语法:再见了jQuery核心子集。再见移除所有DOM不一致和浏览器的兼容性支持jQuery库,展示其真正华丽的API。

快速:再见使用一个非常简单的、一致的DOM模型,解析、操作和演示将带来令人难以置信的性能改进。结束的基准测试显示,再见是约8倍的速度比jsdom初步结束。

令人难以置信的灵活性:兼容htmlparser2api。再见可以分析几乎所有的HTML或XML文件。

jsdom怎么样

我说再见因为我越来越失望jsom。对我来说,有三个主要的症结,曾经一次又一次。

jsdom内置解析器太严格:jsdom HTML解析器捆绑现在无法处理许多流行的网站。

jsdom太慢:解析的大网站,jsdom具有明显的延迟。

jsdom感觉太重的jsdom的目的是提供在浏览器中看到我们同DOM环境(注*执行Javascript)。我真的不需要这些东西,我只是想要一个简单,做HTML操作熟悉的方式。

When to use JSDOM

再见不能解决你所有的问题。如果我需要在一个浏览器一样的环境中工作,我仍然会用jsdom,尤其是当我想在服务器上执行自动功能测试。

美国石油学会

我们将使用的HTML代码示例:

复制代码代码如下所示:
苹果

橙色


负荷

首先,你需要加载的HTML。这一步是jQuery自动完成的,因为jQuery运行在一瞬间DOM环境。我们需要通过HTML文档到再见。

这是第一选择:

复制代码代码如下所示:

VaR再见=需要('cheerio),

$ = cheerio.load('…');
此外,还可以将HTML作为字符串参数传递:

复制代码代码如下所示:

$ =需要('cheerio);

$('ul ','…');
或者作为根节点

复制代码代码如下所示:

$ =需要('cheerio);

$(李,'ul ','…');
您还可以加载默认的解析选项,您需要通过一个额外的加载()来修改这些选项:

复制代码代码如下所示:

$ = cheerio.load('…',{

NormalizeWhitespace:真的,

XmlMode:真的

});
这些解析选项是直接借用htmlparser2,所以任何参数,可用于htmlparser2也是有效的默认选项是再见:

复制代码代码如下所示:

{

NormalizeWhitespace:假,

XmlMode:假,

decodeentities:真

}
选择器选择器

再见的选择几乎是完全一样的jQuery一样,所以API是非常相似的。

复制代码代码如下所示:

$(选择器,{上下文},{ })
根据{根,一个可选的选择器:} >上下文{上下文,顺序选择元素可选}选择器。选择器和上下文可以是字符串表达式、DOM元素、DOM元素数组。根通常的文档是HTML文档的根元素。

像jQuery,这种选择方法遍历和操作文档的起点。它是从文档中选择元素的主要方法,但它并不建立cssselect图书馆(sizzle选择器)像jQuery。

复制代码代码如下所示:

$('。苹果',' #水果)文本()。

>苹果

('ul美元。梨)。Attr(' ')

>梨

$(李{类=橙})。Html()

>橙色
属性属性

获得和修改属性的方法。

attr(名称、值)。

用于获取和设置属性的方法。只获取匹配的第一个元素的属性值。如果将集合属性的值设为null,则删除属性。

复制代码代码如下所示:

$('ul)。Attr('id')

水果

$('苹果')。Attr('id','favorite)。Html()

>苹果
数据(名称,值)

获取和设置数据属性的一种方法。获取或设置仅用于匹配的第一个元素。

复制代码代码如下所示:

$(')。

/ / = > { applecolor:'}

$()。数据('data-apple-color)

/ / = >'

苹果= $(var,苹果),数据(和善的','陆委会')

apple.data(和善的)

/ / = > '陆委会'

缬氨酸({ })
方法用于获取和设置输入,选择,和文本值。注:支持地图功能尚未添加。

复制代码代码如下所示:

$(文本输入{类型=)(。Val)

/ / = > input_text

($'input{type= text.Val ) ('test') (.Html)
更多API,请参见官方网站

相关文章

Javascript数组的常用方法

Javascript数组的常用方法

常用方法,数组,电脑软件,Javascript,(1)基本数组法 1.join() Array.join()方法将所有元素的数组中的字符串和一起返回最后一个生成的字符串,你可以自己指定一个分隔符号,如果你不指定,默认使用逗号 var arr = {1,2,3}; Console.log((arr.join)); / / 1,2…

使用array_fill定义多维数组PHP的

使用array_fill定义多维数组PHP的

方法,多维数组,定义,电脑软件,array_fill,本文阐述了PHP使用array_fill定义多维数组的方式,分享给你参考。具体分析如下: PHP可以嵌套多array_fill完成多维数组的定义。 为创造= array_fill(0,3,array_fill(0,2,null)); 以下语句已填写: ABC = 0; ($ …

ai很快就制作了一个肯德基单页教程

ai很快就制作了一个肯德基单页教程

教程,肯德基,电脑软件,ai,本教程是向朋友介绍肯德基的广告页面方法。这门课制作的广告很漂亮,难度也不大。建议像你这样的朋友过来参考一下。我希望你能喜欢它。 这个人工智能教程介绍了一个朋友到AI创建一个肯德基广告页的方法。以实例的形…

Javascript对象数组按对象对象键的值排序

Javascript对象数组按对象对象键的值排序

对象,对象数组,排序,电脑软件,Javascript,有一系列的JS对象元= { { var编号:1,名称:B},{编号:2,名称:B} }的需求是基于名称或ID值函数进行排序,这是一个风骚 函数的定义: 复制代码代码如下所示: 功能keysrt(关键,DESC){ 返回函数(a,b){ 返回描述(一~ {k…

javascript应用()方法的分析

javascript应用()方法的分析

方法,电脑软件,javascript,在我们说Javascript调用方法之前,这次我们将讨论与调用方法类似的应用方法。 应用与呼叫 两者之间的区别是,传递是一个参数,或者一个参数数组。 这是使用呼叫 复制代码代码如下所示: thefunction.call(arg1,arg2,valuefor…

Ajax动态地使用ID传递JSP和其他页

Ajax动态地使用ID传递JSP和其他页

识别,对象,动态,页面,电脑软件,ajax动态传输页面,js编写的ajax,使用ID来标识传输对象 例如,现在有一个需求,一个页面分为两部分,左导航菜单有一个用户列表信息功能按钮。它希望在不刷新的情况下在右边加载用户数据,并显示列表。 我们定义了两个…

PS快速调整皮肤美容

PS快速调整皮肤美容

调整,快速,电脑软件,PS,这篇文章主要介绍了ps快速的皮肤纹理之美,教程很简单,喜欢的朋友可以一起学习一起工作。 这篇文章主要介绍了ps快速的皮肤纹理之美,教程很简单,喜欢的朋友可以一起学习一起工作。 两个美人之间的皮肤对比如何使皮肤光滑…

CorelDRAW创建简单漂亮的艺术字体

CorelDRAW创建简单漂亮的艺术字体

字体,漂亮,简单,艺术,电脑软件,本教程介绍朋友CorelDRAW创建简单漂亮的艺术字体的方法。本教程是比较基础的,非常适合初学者学习。推荐朋友一起学习教程。 CorelDRAW是一个很好的矢量设计软件,CorelDRAW设计字体是蛮好用的,所以现在如何使用Co…

使用GD库生成带有阴影文本的。

使用GD库生成带有阴影文本的。

文本,电脑软件,GD,GD库最近被用来生成微信公众账号的图片,对GD库的文本阴影效应的产生和强大的GD库的发现。 GD库,PHP处理图形的一个扩展库,提供用于处理图片的一系列API,使用GD库来处理图片,或产生图片。在网站上,GD库通常是用来生成缩略图和水…

开学季节滑稽的个性签名

开学季节滑稽的个性签名

滑稽,个性签名,季节,电脑软件,Duang我们学校马上开始。 这么丑对你不好。 我把我最深的目光放在电话屏幕上。 Ldquo;要过一辈子的生活等加班。 嘴角笑了起来,看到你比发现你更有趣。 在节日期间,三磅的脂肪,仔细看三公斤。 生活在一个不知道该…

圆锯齿效应过程的简易快速制作

圆锯齿效应过程的简易快速制作

效应,简易,过程,快速,圆锯,本教程是给朋友介绍的,使用CDR简单快速的制作圆形锯齿效果,教程比较简单,很实用,很适合初学者学习,并推荐跟你最喜欢的朋友一起学习教程。 在本教程中我们将一起学习今天简单实用的方法,快速制作圆形锯齿效果的CDR,教程…