gpt4 book ai didi

javascript - 当从 FF 下的 javascript 设置普通类时,CSS 伪类将不起作用

转载 作者:行者123 更新时间:2023-11-29 15:03:11 25 4
gpt4 key购买 nike

我的样式表中有 p.first_p:first-letter,正如我检查的那样,当在 HTML 中设置类 first_p 时,它运行良好。当我使用 javascript 查找元素然后设置它们的类时,问题就开始了。

在 Chrome 和 Opera 下它工作正常(我需要检查 IE 8 和 9,以及 FF3)。

FF 5.01改变了类,但伪类设置仍然不影响元素。

似乎 FF 需要在伪类开始工作之前“刷新”元素的 css 设置,所以我做了相当肮脏的解决方法——脚本用它的克隆替换受影响的节点。

有没有更好的方法来解决这个问题?某种方法可以让 FF 重新计算它所知道的关于节点的一切?此外,该解决方法对于 IE 7 来说还不够。

编辑:是的,伪元素不是伪类,我的错

最佳答案

这绝对是一个错误。一种可能的解决方法是更改​​元素的 display 样式。不幸的是,这需要在应用之前的样式更改之后延迟完成:

element.className = 'first-class';
element.style.display = 'inline';
setTimeout(function(){
element.style.display = '';
}, 0);

演示:http://jsfiddle.net/pvEDY/3/

关于javascript - 当从 FF 下的 javascript 设置普通类时,CSS 伪类将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7242013/

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