// 1.jquery的选择器非常强大,除了支持标准的CSS选择器之外,还支持一些自带的伪类选择器,
// 2.提供了大量的方法(API函数),帮我们简化DOM操作,
// 3.还可以支持链式操作(连点的操作,只有方法能链式操作)
// 函数立即调用减少全局变量的污染;
// 文档就绪函数也是,在函数内部声明的变量不会污染到全局,还要等到body结构全部加载完毕再执行
// 对一个事件多次绑定addeventlistener(原生的)可以不覆盖
// jq取到的会变成jq对象,可以使用jq方法,不能使用原生方法,不过可以通过转换以后使用原生方法。
// Jq中 attr 和 prop 有什么区别
// 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
// 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
// 隐式迭代。
$('#btn').click(function () {
//隐式迭代。。
$('p').text('为了新中国').css('background', 'blue');
});
// 获取元素P,在传统的dom写法中getElementsByTagName 发现没有方法名Elements 是复数形式。
// 也就是说获得的应该是一个集合。
// 我们知道设置集合中元素的属性,那必须的迭代啊。(就是遍历一下啊)
// 但是Jquery中不需要遍历可以直接设置。
// 将一个jq对象转化为dom对象?
// 方法一:
// jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
// 如:var $v =$("#v") ; //jQuery对象
// var v=$v[0]; //DOM对象
// alert(v.checked) //检测这个checkbox是否被选中
// 方法二:
// jQuery本身提供,通过.get(index)方法,得到相应的DOM对象
// 如:var $v=$("#v"); //jQuery对象
// var v=$v.get(0); //DOM对象
// alert(v.checked) //检测这个checkbox是否被选中
// 封装过添加事件和移除事件
function addEvent(elem, type, handler) {
if (elem.addEventListener) { //能力检测, 标准浏览器
elem.addEventListener(type, handler, false);
} else if (elem.attachEvent) { //ie
elem[type + handler] = function () {
handler.call(elem);
};
elem.attachEvent('on' + type, elem[type + handler]);
}
}
function removeEvent(elem, type, handler) {
if (elem.removeEventListener) {
elem.removeEventListener(type, handler, false);
} else if (elem.detachEvent) {
elem.detachEvent('on' + type, elem[type + handler]);
}
}