jQuery选择器之层级选择器

文档中的所有的节点之间都是有这样或者那样的关系。我们可以把节点之间的关系可以用传统的家族关系来描述,可以把文档树当作一个家谱,那么节点与节点直接就会存在父子,兄弟,祖孙的关系了。

选择器中的层级选择器就是用来处理这种关系

子元素 后代元素 兄弟元素 相邻元素

通过一个列表,对比层级选择器的区别

 仔细观察层级选择器之间还是有很多相似与不同点

  1. 层级选择器都有一个参考节点
  2. 后代选择器包含子选择器的选择的内容
  3. 一般兄弟选择器包含相邻兄弟选择的内容
  4. 相邻兄弟选择器和一般兄弟选择器所选择到的元素,必须在同一个父元素下

<!DOCTYPE html>
<html><head><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><title></title><link rel="stylesheet" href="imooc.css" type="text/css"><script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head><body><h2>子选择器与后代选择器</h2><div class="left"><div class="aaron"><p>div下的第一个p元素</p></div><div class="aaron"><p>div下的第一个p元素</p></div></div><div class="right"><div class="imooc"><article><p>div下的article下的p元素</p></article></div><div class="imooc"><article><p>div下的article下的p元素</p></article></div></div><script type="text/javascript">//子选择器//$('div > p') 选择所有div元素里面的子元素P$('div > p').css("border", "1px groove red");</script><script type="text/javascript">//后代选择器//$('div  p') 选择所有div元素里面的p元素$('div  p').css("border", "1px groove red");</script><h2>相邻兄弟选择器与一般兄弟选择器</h2><div class="bottom"><div>兄弟节点div, +~选择器不能向前选择</div><span class="prev">选择器span元素</span><div>span后第一个兄弟节点div</div><div>兄弟节点div<div class="small">子元素div</div></div><span>兄弟节点span,不可选</span><div>兄弟节点div</div></div><script type="text/javascript">//相邻兄弟选择器//选取prev后面的第一个的div兄弟节点$(".prev + div").css("border", "3px groove blue");</script><script type="text/javascript">//一般相邻选择器//选取prev后面的所有的div兄弟节点$(".prev ~ div").css("border", "3px groove blue");</script></body></html>

.left,.right {width: 300px;height: 120px;}.left div,.right div {width: 100px;height: 90px;padding: 5px;margin: 5px;float: left;background: #bbffaa;border: 1px solid #ccc;}.bottom {width: 800px;}.bottom div,.bottom span {display: block;width: 80px;height: 80px;margin: 5px;background: #bbffaa;float: left;font-size: 14px;}.bottom .small {width      : 60px;height     : 25px;font-size  : 12px;background : #fab;}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件 图片 上传 及少许正则校验

文件 & 图片 上传 及少许正则校验 <template><div style"padding: 20px"><Row><Col span"24"><div><CFlex type"flex" justify"space-between" align"midlle"><div class"…

bootstrap-table.js如何根据单元格数据不同显示不同的字体的颜色

在bootstrap-table.js里面列属性 formatter就是用来格式化单元格的&#xff0c;其默认值是undefined 类型是function&#xff0c;function(value, row, index), value&#xff1a;该cell本来的值&#xff0c;row&#xff1a;该行数据&#xff0c;index&#xff1a;该行序号&am…

SVN_06导入项目文档

把这个项目的文档迁入到SVN Server上的库中 【1】首先右键点击projectAdmin目录&#xff0c;这时候的右键菜单例如以下图看到的&#xff1a;选择copy URL toCLipboard,就是复制统一资源定位符&#xff08;URL&#xff09;到剪贴板中 https://KJ-AP01.中国.corpnet:8443/svn/pro…

实现省市二级联动效果

实现效果&#xff1a; 代码&#xff1a; <template><div class"main_tableau"><div class"page_title">百城精算编辑</div><CFlex type"flex" justify"space-between"><div style"margin-top…

jquery操作select(取值,设置选中)

jquery操作select(增加&#xff0c;删除&#xff0c;清空) http://huapengpeng1989412.blog.163.com/blog/static/58828754201342841940720/ jQuery获取Select选择的Text和Value: 123456789$("#select_id").change(function(){//code...}); //为Select添加事件&am…

手机验证码获取

<el-form-item label"短信验证码" required><el-input v-model"ruleForm.verificationcode" placeholder"请添加验证码"><el-button v-if"isdisabled" slot"suffix" style"color:#409EFF;" type&…

关于RGB屏调试的一些知识(转)

关于RGB屏调试的一些知识转载于:https://www.cnblogs.com/LittleTiger/p/10983212.html

在bootstrap table中使用Tooltip

//偏好主题function preferenceFormatter(value, row, index) {var nameString "";if (value.length > 6) {nameString value.substring(0,6) ...;} else{nameString value;}return [<a href"#" data-toggle"tooltip" title value >…

实现值两者之间添加 , 、 | 等字符

展示效果&#xff1a; <span v-for"(item, index) in projectData.bdOwnerList" :key"index"><span style"white-space: nowrap">{{ item.userName }}<spanv-if"projectData.bdOwnerList.length - 1 ! index"style&qu…

spring-cloud搭建

1、myApplicaion 启动服务类上层必须有一层包 2、报错 com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 或者com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known…

JS ===和==区别

这是一种隐式类型转换 var a 12; var b 12; alert(a b);//先把两边的转换成一样的&#xff0c;再进行比较 。结果会返回true alert(a b);//不转换两边类型&#xff0c;直接比较,结果返回false

单页面轮播图滚动

现在网上好多类似的效果&#xff0c;今天心情好&#xff0c;就私自模仿一个去&#xff0c;代码如下。 单页面网站 网站首页公司简介公司产品公司荣誉招聘英才联系我们window.οnscrοllfunction(){ var scTopdocument.documentElement.scrollTop||document.body.scrollTop; va…

xBIM 基础16 IFC的空间层次结构

系列目录 【已更新最新开发文章&#xff0c;点击查看详细】 本篇介绍如何从文件中检索空间结构。IFC中的空间结构表示层次结构的嵌套结构&#xff0c;表示项目&#xff0c;站点&#xff0c;建筑物&#xff0c;楼层和空间。如果您查看IFC文档&#xff0c; 您会发现建筑物可以…

如何判断两个jq对象是同一个对象

如果说要判断是否同一对象&#xff0c;当然是用 来判断&#xff0c;但实际上两个不同的 jQuery 对象可能是对同一个/组 DOM 对象的封装&#xff0c;这个时候可以用 is 来判断&#xff0c;比如 var a $(".editor"); var b $(".editor");console.log(a b…

状态管理工具vuex的基本使用(vuebus的理解)

vuex的展示图 1. vuex 的基本结构 const store new Vuex.Store({state: {} //相当于 vue结构中的 data getters: {}, // 相当于vue结构中的计算属性使用actions: {}, // 相当于vue结构中的监听属性使用mutations: {},//相当于vue结构中的 methods 方法集合 &#xff08;其中方…

Memcache

前戏 Memcached是一个高性能的分布式内存对象缓存系统&#xff0c;用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象减少读取数据库的次数&#xff0c;从而减小数据库的压力&#xff0c;提高动态&#xff0c;数据库网站的速度。Memcached基于一个存储 键/值对的…

解决Button自动刷新页面的问题

一、问题 <button class"am-btn am-btn-default am-btn-xs am-text-secondary" data-id"99" data-type1><span class"am-icon-pencil-square-o"></span>修改</button>11 页面上有这样一个按钮&#xff0c;每次点击这个…

Django.1

Django官方网站&#xff1a;https://www.djangoproject.com/ 使用终端创建Django文件 创建工程 django-admin startproject XXX 创建应用 python manage.py startapp YYY 迁移系统指令&#xff1a; 首先生成迁移文件 python manage.py makemigrations 执行迁移文件 python ma…

vue项目水印添加

import DomSize from wd-domsize-monitor; // 此处为 npm 下载的第三方模块包 import Api_login from "/assets/api/login" // 此处是用户信息接口调用var id shuiyinDiv var isInit false let callback function (ele) {DomSize.bind(ele, function () {//水印被…

mybatis传参

在mybatis的学习中&#xff0c;会发现经常需要传参&#xff0c;这里以上一节写的实体类为基础&#xff0c;当我们要添加一个员工时&#xff0c;需要添加员工的基本信息&#xff0c;以及所属部门&#xff0c;按照以前的方法&#xff0c;在实体类中&#xff0c;添加部门id属性&am…