在jQuery中分离和追加后CSS是不是会断开连接

Posted

技术标签:

【中文标题】在jQuery中分离和追加后CSS是不是会断开连接【英文标题】:Is CSS going to be disconnected after detach & appendTo in jQuery在jQuery中分离和追加后CSS是否会断开连接 【发布时间】:2016-05-19 19:13:10 【问题描述】:

下面的代码是非工作代码,对于这个问题来说这并不重要。代码下面的问题!

html

<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 的后代(不一定是直接子代,使用 &gt; 选择器)一个类为 wrapper 的元素。一旦 popup1 是 body 的直接子代,将不再为真。

如上面评论中所述,您可以删除选择器的wrapper 部分,无论popup1 在层次结构中的哪个位置,它都会继续应用。

#popup 
  color: #fff;

这现在仅适用于 id 为 popup1 的元素,并且不考虑其祖先。

【讨论】:

感谢您解决问题。尤其是对于课程外的好答案! 别担心!祝你好运。

以上是关于在jQuery中分离和追加后CSS是不是会断开连接的主要内容,如果未能解决你的问题,请参考以下文章

从同一个累积事实表中分离和独立的计数

媒体查询分组而不是匹配的多个分散的媒体查询

Ajax 连接是不是会在某些时候断开连接?

客户端断开连接后进程是不是仍继续

散列更改时分离和重新附加元素

在完全应用更改之前,jQuery 的 css 方法是不是会阻塞?