您的位置:首页 > Web前端 > JQuery

jQuery常用选择器汇总

2015-07-22 10:24 826 查看
[b]一、基本选择器[/b]

<body>
<div>
<div id="div1">
aaaaaaaaaaa</div>
<div class="c1">
bbbbbbbbb</div>
<span>ccccccccc</span>
</div>
</body>


$(function () {

$("#div1").html("hello world 1"); //根据id匹配元素(a)

$(".c1").html("hello  world 2"); //根据Yclass匹配元素(b)

$("span").html("hello world 3"); //根据元素名称匹配 (c)

$("span,div.c1").html("hello world 4"); //匹配页面所有的span 和class=c1的div(b c)

$("*").html("hello world 5"); //匹配页面所有元素,也包含body

});


二、层级选择器

<body>
<span id="span1">
aaaaaaaaa</span>
<span class="c1">
bbbbbbbbb</span>
<div>
ccccccccc
<span>ddddddddd</span>
</div>
<div>eeeeeeeee</div>
</body>


$(function () {

$("body span").html("hello world 1"); //选取body中所有的span(a b d)

$("body>span").html("hello world 2"); //选取body元素的子span元素(a b)

$("span.c1+div").html("hello world 3"); //选取class为c1的span的下一个div元素,注意是同级元素
$("span.c1").next().html("hello world 3"); //跟上行效果相同 (c)

$("span.c1~div").html("hello world 4"); //选取class为c1的span的后面的所有div
$("span.c1").nextAll().html("hello world 4"); //跟上行效果相同(c e)

});


三、基本过滤选择器

<body>
<h1>header1</h1>
<h2>header2</h2>
<h3>header3</h3>
<span id="span1">aaaaaaaaa</span>
<span class="c1">bbbbbbbbb</span>
<div>
ccccccccc
<span>ddddddddd</span>
</div>
<div>eeeeeeeee</div>
</body>


$(function () {

$("div:first").html("hello world 1"); //选取所有div中的第一个div
$("span:last").html("hello world 2"); //选取所有span中的最后一个
$("span:not(.c1)").html("hello world 3"); //选取除class为c1的span外的所有span
$("span:even").html("hello world 4"); //选取索引为偶数的span,索引从0开始
$("span:odd").html("hello world 5"); //选取索引为奇数的span,索引从0开始
$("span:eq(2)").html("hello world 6"); //选取指定索引的span,索引从0开始
$("span:gt(0)").html("hello world 7"); //选取大于指定索引的span,不包含指定索引
$("span:lt(2)").html("hello world 8"); //选取小于指定索引的span,不包含指定索引
$(":header").html("hello world 9"); //选取页面中所有的标题元素 h1 h2 h3...

});


四、内容过滤选择器

<body>
<span id="span1">aaaaaaaaa</span>
<span class="c1">bbbbbbbbb</span>
<span></span>
<div>
ccccccccc
<span id="span2" class="c2">ddddddddd</span>
</div>
<div>eeeeeeeee</div>
</body>


$(function () {

$("span:contains(aa)").html("hello world 1"); //选取内容包含aa的span元素

$("span:empty").html("hello world 2"); //选取空的span元素

$("div:has(span)").html("hello world 3"); //选取包含span的div元素

$("span:parent").html("hello world 4"); //选取包含子元素的span元素,包含文本

});


五、属性过滤选择器

<body>
<span id="span1">aaaaaaaaa</span>
<span class="c1">bbbbbbbbb</span>
<span></span>
<div>
ccccccccc
<span id="span2" class="c2">ddddddddd</span>
</div>
<div>eeeeeeeee</div>
</body>


$(function () {

$("span[id]").html("hello world 1"); //选取有属性id的span元素
$("span[id=span2]").html("hello world 2"); //选取属性id等于span2的span元素
$("span[id!=span2]").html("hello world 3"); //选取属性id不等于为span2的span元素
$("span[id^=span]").html("hello world 4"); //选取属性id以span开始的span元素
$("span[id$=2]").html("hello world 5"); //选取属性id以2结尾的span元素
$("span[id*=an]").html("hello world 6"); //选取属性id包含an的span元素
$("span[id*=an][class$=2]").html("hello world 6"); //选取属性id包含an并且class以结尾的span元素

});


六、子元素过滤选择器

<body>
<div class="c1">
<span>aaaaaaaa</span><span>cccccccc</span><span>dddddddd</span>
</div>
<div class="c1">
<span>aaaaaaaa</span><span>cccccccc</span><span>dddddddd</span>
</div>
<div class="c1">
<span>aaaaaaaa</span>
</div>
</body>


$


(function () {

$("div.c1 :nth-child(1)").html("hello world 1"); //选取class等于c1的div的指定索引子元素
$("div.c1 :nth-child(even)").html("hello world 2"); //选取class等于c1的div的偶数子元素
$("div.c1 :nth-child(odd)").html("hello world 3"); //选取class等于c1的div的奇数子元素
$("div.c1 :first-child").html("hello world 4"); //选取class等于c1的div的第一个子元素
$("div.c1 :last-child").html("hello world 5"); //选取class等于c1的div的最后一个子元素
$("div.c1 :only-child").html("hello world 6"); //选取class等于c1的div只有一个子元素的子元素

});


7、表单选择器

<body>
<form id="form1" action="#">
<input type="button" value="button1" />
<input type="text" value="text1" />
<input type="text" value="text2" />
<textarea rows="8" cols="40"></textarea><br />
<input type="checkbox" name="chk" />篮球
<input type="checkbox" name="chk" />足球
<input type="password" />
<input type="hidden" /><br />
<select multiple="multiple">
<option selected="selected">武汉</option>
<option selected="selected">黄冈</option>
<option >麻城</option>
</select>
<input id="n" type="radio" name="s"/>男
<input type="radio" name="s"/>女<br />
<input type="submit" /><input type="reset" />
</form>
</body>


$(function () {
//表单中的表单元素
$("#form1 :input").val("hello world 1");
//表单中的input元素
$("#form1 input").val("hello world 1");
$(":text").val("hello world 2");
$(":password").val("hello world 3");
//男的单选框被选中
$(":radio[id=n]").attr("checked", true);
$(":checkbox[name=chk]").length;
$(":submmit").val("提交");
$(":reset").val("重置");
$(":button").val("hello world 4");
$(":hidden").val("hello world 5");
});


8、表单对象属性过滤选择器

<body>
<form id="form1" action="#">
<input type="text" disabled="disabled" value="禁用1" />
<input type="text"  value="启用1" />
<input type="text" disabled="disabled" value="禁用2" />
<input type="text"  value="启用2" />
<input type="checkbox" name="chk" value="篮球" checked="checked"/>篮球
<input type="checkbox" name="chk" value="足球" />足球
<input type="checkbox" name="chk" value="编程" checked="checked"/>编程
<input type="checkbox" name="chk" value="旅游" checked="checked"/>旅游
<select multiple="multiple">
<option selected="selected">武汉</option>
<option selected="selected">黄冈</option>
<option >麻城</option>
</select>
</form></body>


 


$(function () {

$("#form1 input:enabled").val("hello world 1"); //选取form表单中没有禁用的文本框
$("#form1 input:disabled").val("hello world 2"); //选取form表单中没有禁用的文本框
$("#form1 input:checked").attr("checked",false); //选取form表单中选的复选框
$("select option[selected]").each(function () {
alert($(this).val());
});

});


 

使用选择器要注意的地方


<body>
<div id="div#1">aaaaaaaaaaa</div>
<div class="c[1]">bbbbbbbbb</div>
<div class="c1">
<div name="div">ccccccccc</div>
<div name="div">ddddddddd</div>
<div name="div">eeeeeeeee</div>
<div class="c1" name="div">fffffffff</div>
</div>
<div class="c1" name="div">gggggggg</div>
<div class="c1" name="div">hhhhhhhh</div>
</body>


$(function () {

//有时在id或是class中有一些特殊字符如 [等,需要用反斜杠进行转义
$("#div\\#1").html("hello world 1");
$(".c\\[1\\]").html("hello world 2");
//有没有空格的区别
//有空格是选取class等于c1的div里面的name等于div的div(c d e f)
$(".c1 [name=div]").html("hello world 3");
//没有空格是选取class等于c1并且name等于div的div (f g h)
$(".c1[name=div]").html("hello world 4");

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  前端 jquery 选择器