javascript - JS DOM 操作如何影响 CSS 规则匹配?

标签 javascript html css dhtml

设置如下:为需要在单个 div 中一起显示的多个元素动态生成内容。布局是:一个外部 div(所有内容的容器),几个内部 div(内容各不相同),一个 div 在每个内部 div 中,以及一些文本。

最外层的div一开始就是页面的一部分,js通过id获取。接下来生成每个内部 div 及其内容,然后附加到外部 div。冲洗,重复。

外层的div在css中有一个匹配它的类。内部 div 匹配为:

.outerdiv div{...

现在...实际发生的是:内部 div 和内容 div 都匹配外部 div 规则,尽管其中一个显然(在检查器、Firefox 和 Chrome 中进行了三次检查)是内部 div 的子元素不是外面。

我在两个不同的地方都有这个,所以我很确定我没有疯。有人能告诉我发生 DOM 操作时如何评估 CSS 规则吗? (或者去哪里找?)

谢谢, -康拉德

最佳答案

.outerdiv div 选择器选择.outerdiv 中的任何 div,而不仅仅是直接子级。要选择一个元素的直接子元素,有 > selector (虽然 IE6 不支持)。

至于最后一个问题,CSS 规则总是被重新评估,即即使在操作 DOM 时,元素也将始终根据 CSS 规则设置样式,并且不会通过 DOM 操作或类似的方式“继承”规则。

关于javascript - JS DOM 操作如何影响 CSS 规则匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4211205/

相关文章:

javascript - 将点击事件绑定(bind)到使用 jquery 即时生成的 div block

javascript - 将数组的最后一个元素设置为单独的字符串,然后删除该元素

html - Bootstrap 4.1.3,下拉菜单不起作用

javascript - CSS 3D Transform——打开一张卡片

javascript - 无法按 ClassName 定位输入字段

javascript - 为什么我可以访问asp :TextBox in javascript,但不能访问asp :Label?

javascript - 如何使用 IE 11 和 Firefox 36 调试 StealJS?

javascript - 如何检查是否创建了特定的 div 元素?

javascript - 使用 JQuery 修改伪元素的 css

css - 谷歌浏览器 CSS 框模型问题 : box-sizing + table + 100% height + border