关于jqueryend的信息

jquery 中的 “破坏性” 操作是什么意思

破坏性操作是当一个jQuery函数被使用在一个对象后造成此对象的结构变化。

创新互联专注于企业网络营销推广、网站重做改版、新区网站定制设计、自适应品牌网站建设、H5响应式网站商城网站定制开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为新区等各大城市提供网站开发制作服务。

举个例子:

var obj = $("body").find("p");

在 body 没有被使用 find 之前,对象 obj 包括 body 和 body 之内的所有元素

但 body 在被使用 find 之后,对象 obj 只包括 p 元素,原来的其它元素已不复存在,也就是说 原来的对象 obj 的结构被破坏,或者说被修改。

实例:

$("#blog").find("p.title").css({fontWeight: "bold"});

现在上面这行代码运行后剩下的是全部的 p,如果要继续对 $("#blog") 对象进行修改,例如设置 $("#blog") 的高度为200

$("#blog").find("p.title").css({fontWeight: "bold"}).css({height: 200}); // 错误,这样写会修改 p 的高度

$("#blog").find("p.title").css({fontWeight: "bold"}).end().css({height: 200}); // 正确

在破坏性操作之后可以使用 end() 来还原对象。

在一段代码声明后(;),jQuery会自动还原对象,破坏性操作只是在一段连贯的声明中起作用。

$("#blog").find("p.title").css({fontWeight: "bold"});

// jQuery 自动 end()

$("#blog").css({height: 200});

等同上面连在一起写的代码。

谁能把jquery end的用法解释清楚点

.end()  表示结束之前的过滤操作,将对象还原为最初,譬如:

$('.foo').find('div').css('height','25px').end().css('color','red');

这句就是先找到.foo 样式类下的所有div 并把高度设置成25px,而后退到$('.foo') 去 把整个$('.foo') 的文本颜色设置成红色

总结起来说.end()就是让$('.foo').find('div').css('height','25px')

回退到$('.foo')继续对$('.foo')对象

详细说明请阅读w3school的api介绍

地址: 

jQuery中的end()方法的意思

end()

回到最近的一个"破坏性"操作之前。即,将匹配的元素列表变为前一次的状态。

如果之前没有破坏性操作,则返回一个空集。所谓的"破坏性"就是指任何改变所匹配的jQuery元素的操作。这包括在 Traversing 中任何返回一个jQuery对象的函数--'add', 'andSelf', 'children', 'filter', 'find', 'map', 'next', 'nextAll', 'not', 'parent', 'parents', 'prev', 'prevAll', 'siblings' and 'slice'--再加上 Manipulation 中的 'clone'。

示例

HTML 代码:

div id="test"   

h1jQuery end()方法/h1   

p讲解jQuery中end()方法。/p   

/div

jQuery 代码:

$(document).ready(function() {    

$("#test").click(function() {    

$(this).find("p").hide().end().hide();    

});    

});

结果:

点击id为test的div时,首先找到div里边的p标签,将其隐藏。接下来使用end()方法结束了对p标签的引用,此时返回的是#test(jQuery对象),从而后边的hide()方法隐藏了div。

jQuery 的功能

该博客基于阮一峰前辈在2011年所做的分享(原链接: )

jQuery的核心就是:可以选择某个网页元素,然后对其进行某种操作

我们可知jQuery是一个构造函数,那么我们就可以通过选择表达式,把选中的元素,放进jQuery构造函数($)当中,从而得到选中的元素。

而选择表达式可以是CSS选择器:

也可以是jQuery特有的表达式:

在jQuery当中最终选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来,比如:

拆解开来,就是:

这是jQuery最令人称道、最方便的特点。它的原理在于每一步的jQuery操作所返回的都是一个jQuery对象,所以不同操作可以连在一起。

jQuery还提供了.end()方法,使得结果集可以后退一步:

创建新元素的方法非常简单,只要把新元素直接传入jQuery的构造函数就行了:

操作元素在网页中的位置移动有两种方法:

(1)直接移动该元素;

(2)移动其他元素,使得目标元素达到我们想要的位置。

(1)方法是使用.insertAfter(),把div元素移动p元素后面:

(2)方法是使用.after(),把p元素加到div元素前面:

表面上看,这两种方法的效果是一样的,唯一的不同似乎只是操作视角的不同。但是实际上,它们有一个重大差别,那就是返回的元素不一样。第一种方法返回div元素,第二种方法返回p元素。你可以根据需要,选择到底使用哪一种方法。

使用这种模式的操作方法,一共有四对:

text(?) //读写文本内容

用于返回内容时,则返回所有匹配元素的文本内容(会删除 HTML 标记)。

用于设置内容时,则重写所有匹配元素的内容。

html(?) //读写HTML内容

设置或返回被选元素的 innerHTML(文本 + HTML 标记)

attr('title',?) // 读写属性

设置或返回被选元素的属性值。

css({color:'red'}) //读写style

设置或返回被选元素的一个或多个样式属性。

addClass('blue')

向被选元素添加一个或多个类。

该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性。

on('click',fn)

支持动态绑定元素,即页面上元素有添加或变化后仍可绑定,前提是selector须是目标绑定元素的父元素

off('click',fn)

用于移除通过 on()方法添加的事件处理程序


网站标题:关于jqueryend的信息
分享链接:http://scyanting.com/article/dsdjdhh.html