[jQuery]过滤器

(一)简介

1.选择器和过滤器的区别

过滤器一般用在选择器后面,对选择器进行过滤。
过滤器使用后还可继续过滤,每次都用上一次过滤的结果

2.过滤器的内容

基本过滤、内容过滤、属性过滤、可见过滤、表单过滤、通用过滤

(1)基本过滤器

:first表示第一个子元素
$("#div1 span:first")表示div1下的第一个sapn标签
亦可以使用$("#div1 span").first()
:last表示最后一个元素
$("p:last")得到最后一个段落
:eq(索引)指定索引确定的元素,索引从0开始
$("p:eq(1)")表示第二个段落
:even表示所有的索引偶数行
:odd表示所有的索引奇数行
:gt(索引):lt(索引)表示大于或小于某个索引的
:not(selecter)表示不适用某个选择器的
$("p:not(.cl)")表示获取没有使用.cl类样式的所有段落
:header表示所有的标题(h#)标签
$(":header")
:animated表示正在执行动画的元素

(2)属性过滤器

判断是否具有某些属性,及属性值
语法"[属性名]"、"[属性=值]“
多个属性过滤器写在一起可以同时过滤
其他语法
[属性] 表示包含属性
[属性=值] 表示指定属性与值
[属性*=值] 表示属性值中包含某值
[属性^=值] 表示属性值以某值开头
[属性$=值] 表示属性值以某值结尾
可以替换getElementsByName方法

(3)表单过滤

-> $("#form1 :enabled")
选取id为form1的表单中所有启用的元素
-> $("#form2 :disabled")
选定禁用的元素
-> $(“input:checked”)
选取所有选中的元素,在IE9+和其他浏览器中会得到select标签的元素
-> $("select:selected")
选取所有的下拉列表

(4)其他过滤器

简写
-> :radio :checkbox :text :submit :image :reset :button :file
-> :input 所有input、textarea、select、button元素

(5)可见过滤器

:hidden 选取页面中不可见元素
表单元素type=“hidden”(隐藏域)
设置css的display:none
高宽为0的层
父元素隐藏,子元素亦隐藏
注意:visibility:hidden与opacity为0不算(jQuery版本不同 1.3.2)
visible 选取页面中可见元素

(6)内容过滤器

contains(text)
过滤出包含给定文本的元素(innerText)
empty
过滤出没有子节点
has(selector)
过滤出子元素中使用了selector的这个元素
parent
过滤出可以做父元素的元素(即包含子节点)

(7)子元素过滤器

-> :first-child、:last-child
-> :only-child
-> :nth-child(条件) // 可以是索引、even或odd和3n
-> .children()

(二)节点和事件

1.删除节点

> empty()
-> 删除所有的子节点(类似集合Clear方法)
-> DOM实现参考
while(ele.firstChild) {ele.removeChild(ele.firstChild);}
-> remove(selector)
-> 对对象集进行删除
-> $("div").remove();
-> 没有参数全删,有选择器进行过滤
	$("div").remove(":contains(xyz)");
-> 处理节点树的移动
-> 克隆
-> 元素.clone()
-> 参数true连同事件等一并克隆过去
	元素.clone().appendTo(父节点);

2.jQuery中的事件对象

注册事件bind方法
元素.bind(“事件”, func)
移除事件unbind方法 // 不传参清空事件
元素.unbind(“事件名”); // 取消事件时会将该事件的事件链均移除
元素.unbind(“事件”, 方法名); 可以执行移除事件

hover方法
元素.hover(func_over, func_out); // 其中使用enter与leave事件

toggle方法
元素.toggle(func1,func2,…);

3.如何获得事件对象

在方法中传参e
$("#dv1").mousemove(function(e) { document.title = e.pageX+",+e.pageY; });

获取事件源 e.target
取消事件冒泡 e.stopPropagation();
阻止事件执行 e.preventDefault();

4.事件的其他内容

鼠标点击 which
键盘码 keyCode
e.type
altKey、shiftKey、ctrlKey

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值