由javacodre.cn整理,转载请注明出处
map() 将回调函数返回的值组成一个新的数据集,形成一个新的jQuery对象,原来的jQuery对象为新对象的prevObject
pushStack() 将加入的数据集作为当前的jQuery对象,原来的jQuery对象为新对象的prevObject
end() 将当前的jQuery对象设置为this.prevObject ,即恢复到前一步的数据集
get() 将当前的jQuery对象转换为Array对象
假设有如下html片段
1 2 3 4 5 6 7 8 9 10 |
<ul class="first"> <li class="foo">list item 1</li> <li>list item 2</li> <li class="bar">list item 3</li> </ul> <ul class="second"> <li class="foo">list item 1</li> <li>list item 2</li> <li class="bar">list item 3</li> </ul> |
jQuery代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$.fn.printInfo = function(num) { console.log(num + ": this.selector:[" + this.selector + "] prevObject.selector[" + this.prevObject.selector+"]"); return this; } $(".first>li") //dataset为所有的.first下的所有li元素 .map(function(index, element){ return element.innerHtml; }) //dataset为元素的内容,this.prevObject存放$(".first>li")对应的dataset .printInfo(1) .end() //将当前数据集恢复为$(".first>li")对应的dataset .printInfo(2) .pushStack($(".second>li")) //当前的数据集为$(".second>li"),prevObject指向$(".first>li") .printInfo(3) .end()//将当前数据集恢复为$(".first>li")对应的dataset .printInfo(4) |
输出为:
1: this.selector:[] prevObject.selector[.first>li]
2: this.selector:[.first>li] prevObject.selector[]
3: this.selector:[] prevObject.selector[.first>li]
4: this.selector:[.first>li] prevObject.selector[]
Posted in: WEB开发
Comments are closed.