聊聊Jquery中的各种选择器

本文详细探讨了Jquery中的各种选择器,包括基础选择器、层级选择器、过滤选择器、内容选择器、可见选择器、属性选择器、子元素选择器和表单选择器。还介绍了如何创建和修改页面元素,以及特殊的选择器——多类选择器的使用方法。
摘要由CSDN通过智能技术生成

Jquery中的各种选择器

1. 基础选择器 (用法和css中一样)

  • id选择器 $("#id")
  • 标签名选择器 $(“div”)
  • class选择器 $(".class")
  • 分组选择器 $("#id,div,.class")
  • 任意元素选择器 $("*")

2. 层级选择器

  • $(“div span”) 匹配div里面所有的span(包括所有后代span)
  • $(“div>span”) 匹配div里面所有的span子元素
  • $(“div+span”) 匹配div后面的span
  • $(“div~span”) 匹配div后面所有的span
  • 层级相关的方法:
    1. $("#abc").prev(“div”) 匹配id为abc元素的div哥哥元素
    2. $("#abc").prevAll() 匹配id为abc元素的哥哥们元素
    3. $("#abc").next() 匹配id为abc元素的弟弟元素
    4. $("#abc").nextAll() 匹配id为abc元素的弟弟们元素
    5. $("#abc").siblings() 匹配id为abc元素的所有兄弟元素
    6. $("#abc").parent() 匹配元素的父元素
    7. $("#abc").children() 匹配元素的所有子元素们

3. 过滤选择器

  • $(“div:first”) 匹配第一个div
  • $(“div:last”) 匹配最后一个div
  • $(“div:eq(n)”) 匹配下标为n的div 从0开始
  • $(“div:lt(n)”) 匹配下标小于n的div
  • $(“div:gt(n)”) 匹配下标大于n的div
  • $(“div:not(.abc)”) 匹配所有div 排除掉class值为abc的div
  • $(“div:even”) 匹配下标为偶数的div
  • $(“div:odd”) 匹配下标为基数的div

4. 内容选择器

  • $(“div:has§”) 匹配包含p子元素的div
  • $(“div:empty”) 匹配空的div
  • $(“div:parent”) 匹配非空的div
  • $(“div:contains(‘xxx’)”) 匹配包含xxx文本的div

5. 可见选择器

  • $(“div:visible”) 匹配所有显示的div
  • $(“div:hidden”) 匹配所有隐藏的div
  • 显示隐藏相关方法:
    1. $("#abc").show() 显示
    2. $("#abc").hide() 隐藏
    3. $("#abc").toggle() 显示隐藏切换

6. 属性选择器

  • $(“div[id]”) 匹配包含id属性的div
  • $(“div[属性名=‘xxx’]” 匹配指定属性名=xxx的div
  • $(“div[属性名!=‘xxx’]”)匹配指定属性名!=xxx的div

7. 子元素选择器

  • $(“div:first-child”) 匹配是div并且是第一个而且要求元素是子元素
  • $(“div:last-child”) 匹配是div并且是最后一个而且要求元素是子元素
  • $(“div:nth-child(n)”) 匹配是div并且是第n个而且要求元素是子元素 n从1 开始

8. 表单选择器

  • $(":input") 匹配所有表单中的控件
  • $(":password") 匹配所有密码框
  • $(":radio") 匹配所有单选
  • $(":checkbox") 匹配所有多选
  • $(":checked") 匹配所有选中的单选/多选/下拉选
  • $(“input:checked”) 匹配所有选中的单选和多选
  • $(":selected") 匹配所有选中的下拉选

修改页面元素相关

1. 创建及添加元素

  • 创建: var d = $(“
    abc
    ”);
  • 后面添加: 父元素.append(d);
  • 前面添加: 父元素.prepend(d);
  • 插入元素前面: 兄弟元素.before(d);
  • 插入元素后面: 兄弟元素.after(d);
  • 删除元素: 元素对象.remove();

2. 获取和修改元素的文本内容 等效innerText

  • 获取元素文本 元素对象.text();
  • 修改元素文本 元素对象.text(“xxx”);

3. 获取和修改元素的html内容 等效innerHTML

  • 获取元素html 元素对象.html();
  • 修改元素html 元素对象.html(“

    xxxx

    ”);

4. 获取和修改元素的css样式

  • 获取元素样式 元素对象.css(“background-color”);
  • 修改元素样式 元素对象.css(“样式名”,“值”);
  • 批量修改元素样式 元素对象.css({“样式名1”:“值”,“样式名2”:“值”});

5. 获取和修改元素的属性

  • 获取元素属性 元素对象.attr(“属性名”);
  • 修改元素属性 元素对象.attr(“属性名”,“属性值”);

选择器回顾:

1. 基础选择器

  • 标签名 div
  • id #id
  • class .class
  • 分组 div,#id,.class
  • 任意元素 *

2. 层级选择器

  • 子孙后代 div span
  • 子元素 div>span
  • 弟弟 div+span
  • 弟弟们 div~span
  • 相关方法:
    哥哥 .prev() 哥哥们 .prevAll() 弟弟 .next() 弟弟们 .nextAll()
    所有兄弟 .siblings() 父元素 .parent() 子元素们 .children()

3. 过滤选择器

  • 第一个 div:first
  • 最后一个 div:last
  • 第n个 div:eq(n)
  • 小于n个 div:lt(n)
  • 大于n个 div:gt(n)
  • 不包含 div:not(xxx)
  • 偶数 div:even
  • 基数 div:odd

4. 内容选择器

  • 包含子元素 div:has(xxx)
  • 空元素 div:empty
  • 非空元素 div:parent
  • 包含文本的元素 div:contains(xxx)

5. 可见选择器

  • 所有可见元素 div:visible
  • 所有不可见 div:hidden
  • 相关方法: 显示.show() 隐藏 .hide() 显示隐藏切换 .toggle()

最后说个特殊的:多类选择器

class中带空格不是指一个class,而是指两种class中的任意一种
在 HTML 中,一个 class 值中可能包含一个词列表,各个词之间用空格分隔。例如,如果希望将一个特定的元素同时标记为重要(important)和警告(warning),就可以写作:

<p class="important warning">
This paragraph is a very important warning.
</p>

这两个词的顺序无关紧要,写成 warning important 也可以。
我们假设 class 为 important 的所有元素都是粗体,而 class 为 warning 的所有元素为斜体,class 中同时包含 important 和 warning 的所有元素还有一个银色的背景 。就可以写作:

.important {font-weight:bold;}
.warning {font-weight:italic;}
.important.warning {background:silver;}

如:
1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。
在这里插入图片描述
2、在index.html中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值