在jQuery中分离和追加后CSS是不是会断开连接
Posted
技术标签:
【中文标题】在jQuery中分离和追加后CSS是不是会断开连接【英文标题】:Is CSS going to be disconnected after detach & appendTo in jQuery在jQuery中分离和追加后CSS是否会断开连接 【发布时间】:2016-05-19 19:13:10 【问题描述】:下面的代码是非工作代码,对于这个问题来说这并不重要。代码下面的问题!
<body>
<div class="wrapper">
<div id="popup1"></div>
</div>
</body
CSS
.wrapper #popup
color: #fff;
jQuery
var setpopupoutsidewrapper = $('#popup1');
setpopupoutsidewrapper.detach();
setpopup1outsidewrapper.appendTo('body');
在分离/附加功能之后,CSS/HTML 之间的链接是否会保持不变?
【问题讨论】:
不,它不会,因为该规则不再适用,因为它在.wrapper
div 之外。如果您的 css 只是 #popup ...
而不是 .wrapper #popup ...
,则样式会保留。
一旦 popup1
是 body 的子级,当前的 CSS 选择器将不再适用。 .wrapper #popup
表示在类wrapper
的元素下方某处有一个id 为popup1
的后代。一旦 popup1
是 body 的直接子代,将不再为真。
@The Maniac 非常感谢您提供的信息。这正是我需要知道的。你们中的一个可以将其发布为答案吗?
@AtheistP3ace 请阅读以上评论。谢谢。
@purple11111 完成 =]
【参考方案1】:
一旦 popup1
是 body 的子代并且不再是 .wrapper
的子代,该 CSS 选择器将不再适用。 .wrapper #popup
表示在下面某处有一个 id 为 popup1
的后代(不一定是直接子代,使用 >
选择器)一个类为 wrapper
的元素。一旦 popup1
是 body 的直接子代,将不再为真。
如上面评论中所述,您可以删除选择器的wrapper
部分,无论popup1
在层次结构中的哪个位置,它都会继续应用。
#popup
color: #fff;
这现在仅适用于 id 为 popup1
的元素,并且不考虑其祖先。
【讨论】:
感谢您解决问题。尤其是对于课程外的好答案! 别担心!祝你好运。以上是关于在jQuery中分离和追加后CSS是不是会断开连接的主要内容,如果未能解决你的问题,请参考以下文章