Jquery
Live()
$(selector).live(event,data,function)
event 必需。规定附加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。
data 可选。规定传递到该函数的额外数据。
function 必需。规定当事件发生时运行的函数。
参考: https://www.cnblogs.com/gfl123/p/8080484.html
$()这是jQuery的一个函数,也是最核心最基本的函数
功能一:传入一个选择器字符串,获得这个选择器对应的dom内容,保存在[]中,也就是俗称的jQuery对象。例如
('#id')(‘.class’) $(‘tag’)
功能二:传入一个匿名函数,例如
$(function(){})
//这个匿名函数在网页载入完成后开始执行
功能三:将JavaScript对象包装成为jQuery对象。例如
$(this) $({a:1,b:2,c:3}) $(document.getElementById('idstr'))
所以为了使用jQuery对象的方法,你必须传入jQuery函数$(this), 将javascript 对象包装成为一个jquery对象。 这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。 使用jQuery的好处是它包裝了各种浏览器版本对DOM对象的操作,因此统一使用$(this)而不再用this应该是比较不错的选择。 JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:
$("#textbox").hover(
function() {
$(this).attr(’title’, ‘Test’);
},
function() {
$(this).attr(’title’, ‘OK’);
}
);
$("#textbox").hover(
function() {
this.title = "Test";
},
fucntion() {
this.title = "OK”;
}
);
典型错误与注意点
var node = $('#id');
node.click(function(){
this.css('display','block'); //报错 this是一个html元素,不是jquery对象,因此this不能调用jquery的css()方法
$(this).css('display','block'); //正确 $(this)是一个jquery对象,不是html元素,可以用css()方法
this.style.display = 'block'; //正确 this是一个html元素,不是jquery对象,因此this不能调用jquery的css()方法,但是可以用javascript来更改style属性
});