jquery里面的siblings()方法是当前元素寻找同胞元素,但有个地方不太明白
$("p").siblings().css("color","red")在上面这段jq代码中,找到除p标签以外所有同胞元素标签都改变颜色,但是当我在同胞元素再加上一对p标...
$("p").siblings().css("color", "red")
在上面这段jq代码中,找到除p标签以外所有同胞元素标签都改变颜色,
但是当我在同胞元素再加上一对p标签的时候,也就是在同级元素中有两个p标签的时候,这两个p标签的内容都改变颜色了,这是为什么啊?? 展开
在上面这段jq代码中,找到除p标签以外所有同胞元素标签都改变颜色,
但是当我在同胞元素再加上一对p标签的时候,也就是在同级元素中有两个p标签的时候,这两个p标签的内容都改变颜色了,这是为什么啊?? 展开
1个回答
展开全部
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里面。
你会遇到目前的问题,就是因为标签的嵌套原则有问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询