jQuery(一)

1.在css中,经常会在第一行写下这样的一段样式

*{  padding:0;
    margin:0;
}

通配符星号意味着给所有的元素设置默认的边距,jQuery中我们也可以通过传递星号选择器来选中文档中的元素
描述:

$("*")

抛开jQuery,而如果要获取所有文档中的所有元素,通过document。getElementsByTagName()中传递星号同样可以获取到,不难发现,id ,class,tag都可以通过原生的方法获取到对应的节点,但是我们还需要,考虑一个兼容性的问题:

①IE会将注释节点实现为元素,所以在IE中调用getElementsByTagName()里面会包含注释节点,这个通常是不应该的
②getElementById的参数在IE*以及比较低的版本不区分大大小写,IE7以及比较低的版本中,表单元素中,如果表单A的name属性名用了另外一个元素B的ID并且A在B之前,那么getElementById会选中A
③IE8以及比较低的版本,浏览器不支持getElementsByClassName

2.jQuery中的on( )的用法:

表单事件与键盘事件都有个特点,就是直接给元素绑定一个处理函数,所有这类事件都是属于快捷处理。翻开源码其实可以看到,所有的快捷事件在底层的处理都是通过一个”on”方法来实现的。jQuery on()方法是官方推荐的绑定事件的一个方法。

基本用法:

$(selector).on(event,childSelector,data,function,map)

注意:
这里写图片描述

由空格分隔多个事件值。必须是有效的事件。

最常见的给元素绑定一个点击事件,对比一下快捷方式与on方式的不同

$("#elem").click(function(){})  //快捷方式
$("#elem").on('click',function(){}) //on方式

多个事件绑定同一个函数:

$("#elem").on("mouseover mouseout",function(){ });

通过空格分离,传递不同的事件名,可以同时绑定多个事件

多个事件绑定不同函数:

$("#elem").on({
    mouseover:function(){},  
    mouseout:function(){},
});

将数据传递到处理程序:

function greet( event ) {
  alert( "Hello " + event.data.name ); //Hello 你好
}
$( "button" ).on( "click", {
  name: "你好"
}, greet );

on()的高级用法:

$(selector).on(event,childSelector,data,function,map)

在on的第二参数中提供了一个childSelector选择器,简单的来描述下

参考下面3层结构:

<div class="left">
    <p class="aaron">
        <a>目标节点</a> //点击在这个元素上
    </p>
</div>

给出如下代码:

$("div").on("click","p",fn)

事件绑定在最上层div元素上,当用户触发在a元素上,事件将往上冒泡,一直会冒泡在div元素上。如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值