JQuery归纳总结(增加中...)
2015-12-15 22:37
555 查看
一、this与$(this)的区别
this指向标签本身对象,而$(this)会将其封装成JQuery对象如:
$(" img").mousemove(
function(e){
$("#imgTip").attr("src", this.src).css({
"top":(e.pageY + y) + "px",
"left":(e.pageX + x) + "px"
}).show(500);
}
);
代码中的this.src中的this实际代表img对象,如果将this.src替换成$(this).src则会出错,因为JQuery对象没有src属性。
二、attr与prop的区别
attr与prop都可以访问属性,但在JQuery中二者有区别。具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用
attr()
三、remove与empty区别
remove与empty都是用来清空DOM节点的,区别如下:<p>Hello</p>
World
<p>welcome</p>
执行$("p").empty()其结果是
<p></p>
World
<p></p>
执行$("p").remove()其结果是
World
四、事件中的冒泡现象
示例代码<div><button class="btn">点击</button></div>
<div class="clsShow"></div>
<script type="text/javascript">
$(
function (){
var intI = 0;
$("body,div,.btn").click(
function (){
intI++;
$(".clsShow").show().text("welcome to JQ world").append("<div>执行次数<b>" +
intI + "</b></div>");
}
);
}
);
</script>
执行结果
分析:
单击按钮时,发现显示执行次数不是1而是3。这是因为冒泡存在的原因。事件在冒泡过程中先后执行了元素<div>和<body>中的事件。因此尽管执行的是按键中的单击事件,但是实际有触发了其它两个事件,所有共有3事件的执行过程。
解决方法:
在函数中加入以下代码: event.stopPropagation();
相关文章推荐
- JQuery归纳总结(增加中...)
- jquery实现全文检索与鼠标滑过工具栏特效
- [jQueryUI] - Chosen:select下拉选择框美化插件及问题
- jQuery中.live()方法的用法深入解析
- jquery.validate校验+jquery.form提交,配合使用
- 面向对象编写jQuery插件
- jquery学习随笔(简单选择器)
- 网页截图插件(放大插件)
- 锋利的JQuery —— JQuery性能优化
- jQuery扩展与noConflict
- jQuery官网API的简易解读
- jquery validate
- myeclipse中导入的jquery文件报错
- jquery 新闻滚动效果
- 使用JQuery中dataTable展示分页
- [jquery]高级篇--js绑定事件
- jquery跨域请求
- jquery 操作select
- [jquery]基础篇--this与$this区别
- jquery获取密码输入框内的密码