我在火狐浏览器上尝试更改css类中的选择器文本时遇到问题。
我尝试了什么:
for (var i = 0; i < document.styleSheets.length; i++) {
styleSheet = document.styleSheets[i];
for (var j = 0; j < styleSheet.cssRules.length; j++) {
rule = styleSheet.cssRules[j];
// identifies the keyframe rule bearing the same name as the class without the point in the beginning
if ((rule.type == rule.KEYFRAMES_RULE || rule.type == rule.WEBKIT_KEYFRAMES_RULE) && rule.name === className.substr(1)) {
keyframesRule = rule;
}
// identifies the class rule named like the function argument effect
if (rule.selectorText == className) {
animationRule = rule;
mainSheet = styleSheet;
}
}
}
for (var l = 0; l < nrOfElements; l++) {
classAttributes = animationRule.cssText;
mainSheet.insertRule(classAttributes, mainSheet.cssRules.length);
newClasses = mainSheet.cssRules[mainSheet.cssRules.length - 1];
newClasses.selectorText = newClassName[l];
console.log(newClasses.selectorText);
console.log(newClassName[l]);
newClasses.style.setProperty((vendorPrefix + "animation-name"), newClassName[l].substr(1));
}
不幸的是,第一个控制台返回.WPANIM
而第二个控制台返回.WPANIM + incrementor
。
问题:
为什么cssClass.selectorText
在使用firefox浏览器时无法使用其他内容进行更改?
答案 0 :(得分:1)
在Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=37468
中未实现设置.selectorText这个问题已存在16年,随时可以在左侧投票或修复它)