jQuery高级编程(4)选择和操作DOM元素

1、让选择器来完成一切

2、jQuery中的选择器语法结合了css1-3和XPath

3、jQuery选择器的功能

(1)选择器

(2)链式调用

(3)工具方法

$("tr.highlighted").removeClass("highlighted").addClass("normal");

4、选择元素

jQuery提供了大量方法用于选择DOM元素:可以通过:

(1)元素的属性

$("[attributeName=''string2match]")

还可以采用正则表达式

匹配属性开头:$("[attributeName^=''value]")

匹配属性结尾:$("[attributeName$=''value]")

匹配任意位置:$("[attributeName*=''value]")
匹配包含一个特定值:$("[attributeName=''value]")  

选择具有attr属性且属性以val开头或者属性值等于val的元素:elem[attr|=val]

以上两个的差别??

选择具有attr属性的元素elem[attr]

选择不是attr属性的元素elem[attr!=val]

(2)元素的类型

(3)元素的位置

$("li:even")集合中的偶数成员
odd奇数成员
first第一个元素
last最后一个元素
eq(3)匹配集合中第四个元素
gt(2)匹配集合大于2的元素
lt(3)匹配索引小于3的元素

(4)CSS类

A、ID属性

$("div#id");

B、class属性

$(".myClass")

(5)以上方式组合

通配符选择器:$("*")搜索整个DOM树

$("a","js_links#div")只想搜索一个DOM的子树

$("#\\$specialId")原来id是$specialled,特殊字符用反斜杠进行转义

后代选择器:$("form input")

复式选择器:$("div#gallery,div#username")

过滤选择器:

:animated在执行动画的所有元素
:eq()索引等于指定值
:even偶数所有元素
:first第一个元素
:gt()索引大于指定值
:header选择所有标题元素h1h2
:last最后一个元素
:lt()索引小于指定值元素
:not()不匹配所有元素
:odd奇数所有元素
过滤表单元素:

:button 
:checkbox 
:checked 
:disaabled 
:enabled 
:file 
:image 
:inputinput textarea select
button元素
:password 
:radio 
:reset 
:selected 
:submit 
:text 
可见性过滤

:hidden 
:visible 
内容过滤器

:contains()包含特定内容的元素
:empty不包含子元素或空元素
:has()至少含一个元素与指定选择器相匹配的元素
:parent所有含有子元素或文本节点的元素
根据位置选择器

:first-child每个父元素第一个元素
:last-child
每个父元素最后一元素
:nth-child()父元素的第*个元素
:only-child具有唯一子元素的元素
用户自动以选择器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="jquery-1.10.2.min.js"></script>
				<script>
			$(function(){
				//通过扩展$.expr[":"]实现自定义选择器
				$.expr[":"].greenbg=function(element){
					return $(element).css("background-color")==="green";
				};
				var n=$(":greenbg").length;
				console.log("there are"+n+"green divs");
			});
		</script>
	</head>
	<body>

		<div style="width:10;height: 10;background-color:green;"></div>
		<div style="width:10;height: 10;background-color: green;"></div>
		<div style="width:10;height: 10;background-color: green;"></div>
		<div style="width:10;height: 10;background-color: black;"></div>
	</body>
</html>
输出是0不理解??
遍历DOM
1、$("ul").find("#teachBooks")可以从一个元素包装集中查找与指定选择器匹配的后代元素--搜索所有的后代元素
2、.children()只在第一层后代元素中搜索
3、.get()接受一个索引值作为参数,并返回一个DOM节点
4、.index()和get相反,接受一个DOM元素作为参数,返回匹配集中的索引值
操作并修改
1、.text()
2、.html()
操作属性
1、.attr()
2、.removeAttr("class")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值