Javascript/Jquery:get';显示';非';t附加到网页上
假设我有一门课“.someClass”: 然后在javascript代码中创建div,然后为div应用类:Javascript/Jquery:get';显示';非';t附加到网页上,javascript,jquery,Javascript,Jquery,假设我有一门课“.someClass”: 然后在javascript代码中创建div,然后为div应用类: var myDiv = document.createElement("div"); myDiv.className = "someClass"; 现在是否可以检查“myDiv”是否具有“display:none”样式,而不将其附加到网页 或者测试“display”属性的唯一方法是将“myDiv”附加到页面,然后快速检查“$(myDiv).css('display')”,然后将其从页面中
var myDiv = document.createElement("div");
myDiv.className = "someClass";
现在是否可以检查“myDiv”是否具有“display:none”样式,而不将其附加到网页
或者测试“display”属性的唯一方法是将“myDiv”附加到页面,然后快速检查“$(myDiv).css('display')”,然后将其从页面中删除
谢谢,非常感谢您的帮助。未附加到任何DOM元素的每个元素都被视为不可见 顺便说一句,我建议您使用以下行代码来验证元素是否隐藏
jQuery(element).is(':visible')
未附加到任何DOM元素的每个元素都被视为不可见 顺便说一句,我建议您使用以下行代码来验证元素是否隐藏
jQuery(element).is(':visible')
在将元素添加到页面之前,无法检查该属性。CSS规则属于文档,并且在许多情况下依赖于元素在DOM树中的位置。在添加元素之前,不会填充CSS属性 您可以在chrome控制台中进行测试:
var div = document.createElement('div');
getComputedStyle(div);
您将得到一个将所有CSS属性应用于DIV的对象,您将看到它们都是空的
现在,如果您这样做:
document.body.appendChild(div);
getComputedStyle(div);
你会看到他们现在都满了。当元素从DOM中删除时也会发生这种情况,而不仅仅是当它没有被追加时。在将元素添加到页面之前,您无法检查该属性。CSS规则属于文档,并且在许多情况下依赖于元素在DOM树中的位置。在添加元素之前,不会填充CSS属性 您可以在chrome控制台中进行测试:
var div = document.createElement('div');
getComputedStyle(div);
您将得到一个将所有CSS属性应用于DIV的对象,您将看到它们都是空的
现在,如果您这样做:
document.body.appendChild(div);
getComputedStyle(div);
你会看到他们现在都满了。当一个元素从DOM中删除时也会发生这种情况,而不仅仅是当它没有被追加时。您需要创建div。但是,为了防止用户出现任何问题,请尝试创建一个临时元素,将其放置在负索引中的绝对位置。i、 e.左侧:-9999px顶部-9999px也最好不透明度为0;以防“someClass”元素也被定位为绝对
然后在上面的元素中创建/插入所需的“someClass”元素。您需要创建div。但是,为了防止用户出现任何问题,请尝试在负索引中创建一个临时元素。i、 e.左侧:-9999px顶部-9999px也最好不透明度为0;以防“someClass”元素也被定位为绝对 然后在上述元素中创建/插入所需的“someClass”元素。请参见小提琴: 看小提琴: 将导致是,直到你,即使
myDiv.style.display="block";
所以我认为将其添加到dom中很重要
将导致是,直到你,即使
myDiv.style.display="block";
因此,我认为将它添加到dom中很重要它不应该是
myDiv.className=“someClass”代码>?试试这篇文章的答案。希望对你有用。[使用Javascript/jQuery从外部样式表获取CSS值][1][1]:它不应该是myDiv.className=“someClass”代码>?试试这篇文章的答案。希望对你有用。[使用Javascript/jQuery从外部样式表获取CSS值][1][1]:我想在您执行“$(myDiv).hide()之后,您强制设置了“display:none”,即使它不在那里。无论如何,谢谢。是的,我错过了这一点。您找到了正确的解决方案吗?我想在执行“$(myDiv).hide()之后,您强制设置了“display:none”即使它不在那里。无论如何,谢谢。是的,没错,我错过了这一点。嗯,你找到正确的解决方案了吗?谢谢你的详细解释!谢谢你的详细解释!