为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery中“~”的问题

为什么~这个传递css时在本身也起作用比如$("p~div").css();这句话会影响p的格式,但是~这个用在html时就不再本身起作用,比如$("p~div").html();html的内容只会在div中显示,在p中就不会显示出来。

正在回答

2 回答

p~div 选择p下面所有的标签名为div的兄弟(p 和 div 同属与一个父标签)。

<div>
   <p>i am p</p>
   
   <div>我会被 p~div 选中,因为我是p下面的兄弟</div>
   
   <h1>我不会被 p~div 选中,因为我虽然是p下面的兄弟,但是我并不是div标签</h1>
   
   <div>我也会被 p~div 选中,因为我是p下面的兄弟</div>
</div>

记住,x~y  选择的是后面的y元素,前面的选择器x只是个限定条件。。

所以,“$("p~div").css();这句话会影响p的格式”这句话应该是不正确的,是由于div的样式发生了改变,对p的样式进行了影响,比如 div 加了一个margin-top,那么会导致div把p顶开。p本身的样式没有发生任何变化。。

“$("p~div").html();html的内容只会在div中显示”,这个是肯定的,因为选择的就是div,所以html内容只会在div中显示。。

0 回复 有任何疑惑可以回复我~
#1

从此蜕变 提问者

非常感谢!
2016-01-26 回复 有任何疑惑可以回复我~

这是选择类容标签下的全部的意思

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

jQuery中“~”的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信