随笔记之Jquery选择器

一:九种选择器

1)基本选择器:

#id 根据id属性值查找一个元素, 例如 $(“#mydiv")

.class 根据class属性值查找元素, 例如 $(“.class")

element 根据元素的标签名称查找指定元素

* 匹配所有元素, 例如 $(“*")

selector1, selector2, selector3 将多个选择器合并到一起返回 例如$(“div, p")

2)层级选择器:

层级选择器是根据dom元素的层级关系选择对应的标签.

dom元素的层级关系: 祖先后代关系, 父子关系, 兄弟关系等.

祖先 后代: 获取祖先元素下的所有后代元素 $(“form input")

父亲>孩子: 获取父元素下的所有子元素 $(“form>input")

当前元素+兄弟 : 获取紧挨当前元素的下一个兄弟元素 $(“label+input")

当前元素~兄弟 : 获取当前元素的所有兄弟元素 $(“label~input")

注意:

空格: 选取 当前元素的所有后代元素

> : 选取 当前元素的所有子元素

+: 选取 当前元素的下一个兄弟元素

~: 选取 当前元素的所有兄弟元素

实现:

$(function(){

// 1.将class属性值为itcast的元素下所有a元素字体变为红色

// $(".itcast a").css("color", "red");

// 2.将class属性值为itcast的元素下直接a元素字体变为蓝色

// $(".itcast>a").css("color", "blue");

// 3.将div元素后所有兄弟a元素,字体变为黄色,大小变为30px

$("div~a").css({

    "color" : "yellow",

   "font-size" : "30px"

});

3)基本过滤选择器:

l:first  选取第一个元素 $("tr:first")

l:last   选取最后一个元素 $("tr:last")

l:not(selector)  去除所有与给定选择器匹配的元素 $("input:not(:checked)")

l:even  选取所有元素中偶数索引的元素,从 0 开始计数 $("tr:even")

l:odd  选取所有元素中奇数索引的元素 ,从 0 开始计数 $("tr:odd")

l:eq(index) 选取指定索引的元素  $("tr:eq(1)")

l:gt(index)  选取索引大于指定index的元素  $("tr:gt(0)")

l:lt(index)   选取索引小于指定index的元素  $("tr:lt(2)")

l:header  选取所有的标题元素  如:h1, h2, h3   $(":header")

l:animated  匹配所有正在执行动画效果的元素

实现:

$(function(){

// 1.设置表格第一行,显示为红色

$("table tr:first").css("color", "red");

// 2.设置表格除第一行以外 显示为蓝色

$("table tr:not(:first)").css("color", "blue");

// 3.设置表格奇数行背景色 黄色

$("table tr:odd").css("background", "yellow");

// 4.设置表格偶数行背景色 绿色

$("table tr:even").css("background", "green");

// 5.设置页面中所有标题 显示为灰色

$(":header").css("color", "gray");

// 6.设置页面中正在执行动画效果div背景黄色,不执行动画div背景绿色

$("div:not(:animated)").css("background", "green");

$("div").click(function(){

$(this).slideUp("slow");

$("div:animated").css("background", "yellow");

});

});

4)内容过滤选择器:

l:contains(text) 选取包含text文本内容的元素  $("div:contains('John')")

l:empty 选取不包含子元素或者文本节点的空元素 $("td:empty")  <td></td>

l:has(selector) 选取含有选择器所匹配的元素的元素

l     $("div:has(p)").addClass("test");

l:parent  选取含有子元素或文本节点的元素  $("td:parent")

实现:

$(function(){

// 1.设置含有文本内容 "传智播客" 的 div 的字体颜色为红色

$("div:contains('传智播客')").css("color", "red");

// 2.设置没有子元素的div元素 文本内容 "这是一个空DIV“

$("div:empty").html("这是一个空DIV");

// 3.设置包含p元素 的 div 背景色为黄色

$("div:has('p')").css("background", "yellow");

// 4.设置所有含有子元素的span字体为蓝色

$("span:parent").css("color", "blue");

});

5)可见过滤选择器

:hidden 选取所有不可见的元素

:visible 选取所有可见的元素

观察结果:

visibility:hidden 可以实现隐藏效果, 但是占用体积

display:none 可以实现隐藏效果, 可以不占体积

当前选择器匹配的元素有: display:none 和 input type="hidden"的标签

实现:

$(function(){

// 1.为表单中所有隐藏域  添加 class属性,值为itcast

$(":hidden").attr("class", "itcast");

// 2.设置table所有 可见 tr 背景色 黄色

$("table tr:visible").css("background", "yellow");

// 3.设置table所有 隐藏tr 字体颜色为红色,显示出来 ,并输出tr中文本值

alert($("table tr:hidden").css("color", "red").show().text());

});

6)属性过滤选择器

l[attribute] 选取拥有此属性的元素  $("div[id]")

l[attribute=value] 选取指定属性值为value的所有元素: $("div[id=’mydiv’]")  

l[attribute !=value] 选取属性值不为value的所有元素

l[attribute ^= value] 选取属性值以value开始的所有元素

l[attribute $= value] 选取属性值以value结束的所有元素

l[attribute *= value]  选取属性值包含value的所有元素

l[selector1] [selector2]…[selectorN] 复合性选择器,首先经[selector1]选择返回集合A,集合A再经过[selector2]选择返回集合B,集合B再经过[selectorN]选择返回结果集合

说明: div[id][class] 表示 既有id属性也有class属性的div标签

实现:

$(function(){

// 1.设置所有含有id属性的div,字体颜色红色

$("div[id]").css("color", "red");

// 2.设置所有class属性值 含有itcast元素背景色为黄色

$("[class*=itcast]").css("background", "yellow");

// 3.对所有既有id又有class属性div元素,添加一个点击事件,打印div标签中内容

$("div[id][class]").click(function(){

alert($(this).html());

});

// 4 获取属性name="hobby"的input标签, 打印value属性值

$("input[name='hobby']").each(function(){

alert($(this).val());

});

});

7)子元素过滤选择器

对某元素的子元素进行选取

l:nth-child(index/even/odd) 选取索引为index的元素、索引为偶数的元素、索引为奇数的元素  ----- index 从1开始 区别 eq

l:first-child  此选择符将为每个父元素匹配第一个子元素

l:last-child  此选择符将为每个父元素匹配最后一个子元素

l:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配

实现:

$(function(){

// 1.在每个表格 下3的倍数行,字体颜色为红色

$("table tr:nth-child(3n)").css("color", "red");

// 2.每个表格 奇数行 背景色 黄色

$("table tr:nth-child(odd)").css("background", "yellow");

// 3.每个表格 偶数行 背景色 灰色

$("table tr:nth-child(even)").css("background", "gray");

// 4.每个tr 只有一个td的  字体为 蓝色

$("tr td:only-child").css("background", "blue");

});

8)表单过滤选择器

l选取表单元素的过滤选择器

l:input  选取所有<input>、<textarea>、<select >和<button>元素

l:text     选取所有的文本框元素 <input type="text">

l:password 选取所有的密码框元素 <input type="password">

l:radio          选取所有的单选框元素 <input type="radio">

l:checkbox  选取所有的多选框元素 <input type="checkbox">

l:submit       选取所有的提交按钮元素 <input type="submit">

l:image        选取所有的图像按钮元素

l:reset          选取所有重置按钮元素

l:button       选取所有按钮元素 <input type="button"> <button>

l:file             选取所有文件上传域元素 <input type="file">

l:hidden       选取所有不可见元素 <input type="hidden">

:checkbox 等价于 input[type='checkbox']

实现:

$(function(){

//1.对所有text框和password框,添加离焦事件,校验输入内容不能为空

$(":text, :password").blur(function(){});

$("input[name='username'], input[name='password']").blur(function(){});

//2.对button 添加 点击事件,提交form表单

$(":button").click(function(){});

});

9)表单对象属性过滤选择器

l:enabled  选取所有可用元素

l:disabled  选取所有不可用元素

l:checked  选取所有被选中的元素,如单选框、复选框 (经常使用)

l:selected  选取所有被选中项元素,如下拉列表框、列表框  (经常使用)

实现:

$(function(){

//需求1: 观察只读和不可用标签的联系和区别

// 联系: 只能看,不能修改

// 区别:

// 只读虽然不能修改,但是可以随表单一起提交

// 不可用不仅不能修改, 还不能表单一起提交

//需求2: 点击button 打印radio checkbox select 中选中项的值

$(":button").click(function(){

var sex = $("input[name=gender]:checked").val();

alert("性别: " + sex);

$("input[name=hobby]:checked").each(function(){

alert("爱好: " + $(this).val());

});

alert("城市1: " + $("select[name='city']").val());

alert("城市2: " + $("select[name='city'] option:selected").val());

});

});

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值