gpt4 book ai didi

Javascript/Jquery : get 'display' css style for DOM element that wasn't appended to web page

转载 作者:行者123 更新时间:2023-11-30 08:45:16 25 4
gpt4 key购买 nike

假设我有一个类“.someClass”:

.someClass {
display: none;
}

然后在 javascript 代码中创建 div,然后为 div 应用类:

var myDiv = document.createElement("div");
myDiv.className = "someClass";

现在是否可以在不将其附加到网页的情况下检查“myDiv”是否具有样式“display: none”?

或者测试“显示”属性的唯一方法是将“myDiv”附加到页面,然后快速检查“$(myDiv).css('display')”,然后将其从页面中删除?

谢谢,非常感谢帮助。

最佳答案

在将元素添加到页面之前,您无法检查该属性。 CSS 规则属于文档,并且在许多情况下取决于元素在 DOM 树中的位置。在添加元素之前,不会填充 CSS 属性。

您可以在 chrome 控制台中测试它:

var div = document.createElement('div');
getComputedStyle(div);

您将获得一个对象,其中所有 CSS 属性都应用于 DIV,您会发现它们都是空的。

现在,如果你这样做:

document.body.appendChild(div);
getComputedStyle(div);

您会看到它们现在已填满。当一个元素从 DOM 中移除时也会发生这种情况,而不仅仅是当它没有被附加时。

关于Javascript/Jquery : get 'display' css style for DOM element that wasn't appended to web page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22532441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com