1.链式编程
end()补充
当执行的jQuery链式编程断掉的时候,如果能把链在链上就好了
end() 结束当前的链式编程的链,回到最原始的链上去时
2.隐式迭代
在默认情况下,会自动迭代执行jQuery选择出来的所有的dom元素操作
如果获取的是多元素的值,默认返回的是第一个元素的值
eg:$('ul li').text('你好!')
会默认给选择出ul下的所有的li 设置text文本,内部帮我们选择出来所有符合条件的设置
var text =$('ul li").text()
获取值的话,返回的是第一个li标签的内容
3.each函数
①.$(‘li’).each(function(index,element){
}) 第一个参数是li的索引,第二个代表当前这个li
eg:
$('li').each(function (index, el) {
var text1 = $(el).text();
$(el).text(text1+index);
});
②.$.each(array,function(index,object){})
执行jQuery全局的对象的方法,jQuery最顶层的对象方法
第一个参数传入的是数组,函数的第一个参数是数组的索引值,第二个是对象
eg:
$.each($('li'),function (index, el) {
var text1 = $(el).text();
$(el).text(text1+index);
});
代码效果是一样的
4.map函数
map函数和each函数很相似,也是遍历所有的元素,each一般没有返回值,但是当有返回值的时候,用map
①.$('li').map(function(index,element){ })
②.$.map(array,function(object,index){})
注意参数的顺序是反的
eg:
var temp = $.map($('li'),function (el,index) {
return $(el).text()+index;
});
console.log(temp);
})
效果:
5.全局对象污染冲突
noConflict 全局对象污染冲突
$、JQuery
特殊符 基本上公认$是jQuery的专属
如果别的框架有$符,会造成命名冲突
jQuery给我们提供了一个方法。
$.noConflict()
// 让jQuery释放
,让
,
让
回归到jQuery之前的对象定义上去
var $= {name:'itcast'}
<script src="juery.min.js"></script>
$.noConflict() 回到
$.name;
6.JQuery.data()
JQuery.data()方法可以帮助我们将我们的数据储存在jQuery当中
$('div').data('name',"123"); 设置值
var t = $('div').data("name"); 获取值
t.name ='12'
//对象的更改,会直接同步到元素的jQuery对象 ,也就是说div的name就是12 了
用法:比如说给某个元素添加一个标识识别,可以添加类区别,可以自定义属性,也可以加data()区别
7.jQuery插件的方式
全局jQuery函数扩展方法
$.log = function(){
}