其他分享
首页 > 其他分享> > jQuery事件处理

jQuery事件处理

作者:互联网

引入工具库:
//网络路径
<script src="http://code.jquery.com/jquery-1.12.4.js"</script>

1、读取节点.innerHTML JQ.html()

console.log( $('selector').html )

2、读取节点的文本 JQ.text()

console.log( $('selector').text() )

3、读写标签的行间属性 JQ.attr()

console.log( $('selector').attr('属性名') ) //读
$('selector').attr('属性名','属性值')  //写
$('selector').removeAttr('属性名')  //删

4、表单的value读写

<!-- 表单标签 -->
    <form action="" id="form">
        <input type="text" name="user" value="aaa">
    </form>
console.log( $('input[name=user]').val()  )

5、JQ对象对所有的行间属性的操作,都是通过attr()方法的

 <a href="http://www.baidu.com">百度</a>
console.log( $('a:contains(百度)').attr('href') )

通过当前节点获取其他节点

6、获取子级JQ对象集合 JQ.children[JQ选择器]当传参时,表 示查找子级中符合JQ选择器条件的标签

$('父级节点').click(function(){
    $(this).childre()
    $(this).childre("div:last")
})

7、获取第一个子级 JQ:eq(下标) 获取JQ集合中的指定下标对 应的 标签所构成的JQ对象

$('父级节点').click(function(){
    $(this).childre().eq(0)
})

8、获取最后一个子级 JQ.eq(下标)

$('父级节点').click(function(){
     var length = $(this).children().length;
     $(this).children().eq(length - 1)
})

9、获取前一个

$('父级节点').click(function(){
    $(this).prev()
})

10、获取前面所有的元素

$('父级节点').click(function(){
    $(this).prevAll()
})

11、获取下一个

$('父级节点').click(function(){
    $(this).next()
})

12、获取下面所有的元素

$('父级节点').click(function(){
    $(this).nextAll()
})

13、查找后面的直到 指定的元素(且不包含这个指定元素)

$('父级节点').click(function(){
     $(this).nextUntil('指定元素'),'until'
})

14、其他的兄弟集合

$('父级节点').click(function(){
    $(this).siblings()
})

15、包含父级节点的JQ对象

$('父级节点').click(function(){
     $(this).parent()
})

16、定位父级节点的JQ对象

$('父级节点').click(function(){
     $(this).offsetParent()
})

17、获取节点所在父级 children() 节点的集合下标

$('父级节点').click(function(){
    $(this).index()
})

18、获取指定后代的JQ节点

$('父级节点').click(function(){
    $(this).find('JQ选择器')
})

19、获取JQ对象中的原生节点

$('父级节点').click(function(){
    $(this).get(下标)
    $(this)[下标]
})

JQ标签的创建

1、JQ节点 $("标签字符串")

JQ.appendTo( JQ选择器 | JQ对象 | 原生JS对象)

返回创建好的标签,可以实现链式操作
//创建h1放入wrap 最后一个位置中
$("<h1>娜娜</h1>").css()
                   .click(function () {})
                   .appendTo(".wrap")

2、给wrap中最后一个位置,放一个新创建的标签

JQ.append( JQ | 标签字符串)

$('.wrap').append("<h2>这是append</h2>")

3、创建一个 h3>span+p 放入wrap标签中

$('<h3></h3>').append("<span>span</span><p>p</p>")
               .appendTo('.wrap')

4、 在第一个位置插入

JQ.prependTo(JQ选择器 | JQ | 原生DOM节点)

$('<h1>wrap_h1</h1>').prependTo('.wrap')

5、 在之前添加

JQ.insertBefore(JQ对象 | 选择器 | DOM节点)

$('<h1></h1>').insertBefore('.wrap')

6、在XX之前,插入 XXX

$('.wrap').before("<input>")

7、将XXX 插入到XX之后

JQ.inserAfter(JQ对象 | 选择器 | DOM节点)

$('<h1>之后</h1>').insertAfter('.wrap')

8、在XX之后 插入XXX

 $('.wrap').after('<h2>wrap之后</h2>')

9、JQ.replaceWith(JQ | 标签 | DOM | callback)

return跟要替换的节点(JQ | 标签字符串 | DOM)

10、删除节点

<button>btn</button>
$('button:contains(btn)').click(function(){
        $(this).remove();
    })

11、清空节点的内容

<button>btn</button>
$('button:contains(btn)').click(function(){
        $(this).empty();
    })

12、克隆节点

JQ.clone(bool) bool:true带事件克隆 false不带事件克隆

<button>btn</button>
$('button:contains(btn)').clone(true).appendTo('body')

JQ事件注册

1、事件注册第一种方式

JQ.on(type,function(){})

<button class="btn"><button>
$('.btn').on('click',function(){})

2、JQ自己封装的以常见事件类型作为函数名

<button class="btn"><button>
$('.btn').click(function(){})
$('.btn').mouseover(function(){})

3、只绑定一次 JQ.one(type,function(){})

<button class="btn"><button>
$('.btn').one('click',function(){})

JQ事件注册的独有特性

1、JQ的事件绑定是可以传参的

<button class="btn"><button>
$('.btn').click('click',function(e){
    alert( e.data )
})

2、事件代理

JQ父级.on("type","子级JQ选择器",事件处理

$('父级').on('click','选择器',"娜娜",function(e){
        alert(e.data)
 })

事件删除

1、JQ.off ==> 删除所有事件

<button class="btn"><button>
$('.btn').off()

2、JQ.off(type) ==> 删除一类事件

<button class="btn"><button>
$('.btn').off('click');

3、 精准删除指定类型的,指定事件处理函数

JQ.off(type,fn)

<button class="btn"><button> 
$('.btn').off('click',函数)

JQ方法的属性扩展

JQ提供了方法和属性的扩展接口

 $.fn.extend({

  	新增属性1 : "value",

    新增方法1 : function(){ this -> 该方法的调用对象 指向JQ对象},

  })

 JQ.属性

标签:jQuery,事件处理,父级,function,JQ,click,btn,节点
来源: https://www.cnblogs.com/liujianjun/p/16388280.html