jquery里面的siblings()方法是当前元素寻找同胞元素,但有个地方不太明白

$("p").siblings().css("color","red")在上面这段jq代码中,找到除p标签以外所有同胞元素标签都改变颜色,但是当我在同胞元素再加上一对p标... $("p").siblings().css("color", "red")
在上面这段jq代码中,找到除p标签以外所有同胞元素标签都改变颜色,
但是当我在同胞元素再加上一对p标签的时候,也就是在同级元素中有两个p标签的时候,这两个p标签的内容都改变颜色了,这是为什么啊??
展开
 我来答
千年不死樱
2017-01-01 · TA获得超过1万个赞
知道大有可为答主
回答量:3767
采纳率:72%
帮助的人:2554万
展开全部

P元素是不能包含块级元素(包括P自身)

你可以试一下下面的代码,11并没有变色。

而且实际运用的时候一般都会加上id或者class的。不会这样一次获取全体元素的。

对于这种嵌套的研究,最好用div实验。

<!doctype html>
<html>
  <head>
  <title>demo</title>
  <meta charset="utf-8"/>
  <script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>

  <style type="text/css">
  
  </style>
  <script>
$(function(){
 $("p").siblings().css("color", "red")
})
   
  </script>
  </head>
  <body>
    <p>11</p>
    <span>22<p>33</p></span>
  
  
  </body>


</html>
追问
但是如果我在p标签的同胞再加一个p标签的话,那这个p标签就会变色了
11

2233

44

就像这代码
就算是用div标签还是一样
11
2233
44
div也还是一样变色了
追答
<!doctype html>
<html>
  <head>
  <title>demo</title>
  <meta charset="utf-8"/>
  <script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>

  <style type="text/css">
  
  </style>
  <script>
$(function(){
 $("span").siblings().css("color", "red")
})
   
  </script>
  </head>
  <body>
    <div>div</div>
<div>div<span>span</span></div>
<span>span</span>
  <div>div<div>div</div></div>
  
  </body>


</html>

以这个为例你试试,我最开始的例子有问题。

这是我在网上找的,span是内联元素,里面只能加内联元素,div是块级元素,不能放在span里面。


你会遇到目前的问题,就是因为标签的嵌套原则有问题。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式