本文为大家分享了jquery常用选择器的具体代码,供大家参考,具体内容如下
1、jquery:(使用jquery一定标明我们使用的版本号)
它是一个使用原生的js来封装的常用的方法的类库(解决了浏览器的兼容问题)
2、jquery中提供的方法
选择器
通过传递对应规则的内容(id、标签名、样式类名...),获取到页面中指定的元素/元素集合
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>document</title>
</head>
<body>
<div id='div1'>
<div>
<span></span>
<span></span>
<span></span>
</div>
<div></div>
<div id='div3'></div>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<script>
//原生js获取到的结果属于元素对象/元素集合/节点集合...他们可以使用浏览器为其提供的那些天生自带的属性和方法
//原生的js对象不能直接的使用jquery中提供的属性和方法
var odiv = document.getelementbyid('div1')
odiv.clientwidth
odiv.getattribute
//jq获取到的结果是一个jquery对象,可以使用jquery里面提供的属性和方法,但是不能直接的使用浏览器内置的属性和方法
var $odiv = jquery("#div1")//$("#div1")
$odiv.innerwidth();
$odiv.attr
//关于原生js对象和jquery对象之间的转换
//1)、原生的转变成jquery:$(原生js对象)
$(odiv)
//2)、jquery转化成原生:直接通过索引获取对应的元素对象即可
$odiv[0]
$odiv.get(0)//<==>$odiv[0]都是通过索引来获取指定位置的元素(js原生对象)
//更多的jquery选择器
$('#div1')
$('div')
$('.w100')
$('*')
$('#div1,div,.w100')//把每一个选择器获取到的jquery对象最后融合在一起,最后一起获取到
$('#div1 li')//在子子孙孙级中进行查找
$('#div1>li')//在子级中进行查找
$('#div3+')//获取它的下一个弟弟
$('#div3+ul')//获取它的下一个弟弟并且标签名是ul的
$('#div3~')//获取它的所有的弟弟元素
$('#div3~ul')//获取它的所有的弟弟元素并且标签名为ul的
$('#div1>div:not(.w100)')//#div1下的所有子集div样式类名不包含w100的
$('#div1>div:eq(0)')//通过索引获取到集合中的某一个,但是获取到的结果依然是一个jquery对象(而get方法也是通过索引获取,但是获取到的是一个js原生对象)
$('#div1>div:gt(1)')//大于索引1的(不包含索引1的)
$('#div1>div:lt(1)')//小于索引1的(不包含索引1的)
$('#div1 li:contains("我")')//获取所有的li内容包含“我” 的
$('#div1 div:has(ul)')//在所有的div中包含ul的
$('#div1>*:nth-child(1)')//获取所有的子元素的第一个
$('#div1>*:eq(1)')//获取所有的子元素的第二个(索引为1)
</script>
</body>
</html>
元素选择是一切操作的前提,jquery中$()函数最强大最常用的功能之一就是使用选择器选择dom元素。这里就汇总一些十分常用的jquery选择器。
1、jquery选择器基本结构
$('选择器')
$('选择器 上下文')
2、使用基本css选择器
关于基本的css选择器可以看一下css选择器详解。这里列出几种最基本的使用css选择器的用法。
2.1 元素选择器
$('a'); //选择所有a元素
$('div'); //选择所有div元素
$('p'); //选择所有p元素
当然,如果你愿意,jquery也允许我们使用逗号将多个选择器合并为一个选择器:
$('a,div,p');
这样得到了和上面3行代码相同的效果。
2.2 类选择器
$('div.myclass'); //所有拥有myclass类的div元素
$('p.myclass'); //所有拥有myclass类的p元素
$('*.myclass'); //拥有myclass类的所有类型元素
通常情况下,要选择拥有某一类的所有元素时,会省略掉通配符*,如下:
$('.myclass'); //拥有myclass类的所有类型元素
这样不会有任何不妥,也是我们常用的写法。
另外,某些元素可能拥有不止一个类:
$('div.myclass1.myclass2');
这样会选择同时拥有myclass1以及myclass2类的div元素。当然,被选中的div元素可能还拥有其他类,也就是说,以下div会毫无疑问地被选中:
<div class="myclass1 myclass2 myclass3">...</div>
2.3 id选择器
$('table#myid'); //id为myid的table元素
3、结合使用上下文选择器
3.1 后代选择器
从这里开始,开始一些稍有难度的选择,例如:
$('ul.myul li');
这样会选择所有拥有myul类的ul元素的li子元素。听起来很拗口。看下面的代码:
html
<ul class="myul">
<li><a href="#"></a>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</li><ul>
这里,通过$('ul.myul li'),所有的li元素都将被选中,注意是所有的!因为所有的li元素均是<ul class="muul">...</ul>的后代。不论你是直接后代,孙子代还是重孙子代。
事实上,上例还不足以完全说明所有拥有myul类的ul元素的li子元素的含义。因为拥有myul类的ul元素可能不止一个,如下:
html
<ul class="myul">
<li><a href="#"></a>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</li><ul><ul class="myul">
<li>
<ul>
<li>一</li>
<li>二</li>
<li>三</li>
</ul>
</li><ul>
$('ul.myul li')同样会选择以上代码中所有的li元素。因为上述代码中所有li元素均是ul.myul的子元素,虽然ul.myul有2个。现在应该能理解所有拥有myul类的ul元素的li子元素的含义了吧!
后代选择器其实不止能够选择某元素的后代,也可以选择某元素后代的后代(听起怎么有点别扭),如下:
$('ul.myul li a');
这样就选择了所有拥有myul类的ul元素的所有li后代元素的所有a后代元素。虽然又多了一个xx的后代,不过和上面的分析是一个道理,就不赘述了。
以上就是jquery中关于常用选择器的具体分析的详细内容。