2

根据 MDN ( https://developer.mozilla.org/en-US/docs/DOM/CSSStyleRule ) CSSStyleRule 对象的样式属性是只读的。有没有办法能够在现代浏览器中可靠地修改其样式属性(主要是 chrome/safari 和 firefox,但 IE9 也不错)?

半相关的问题,但有没有办法访问样式规则内的评论(编辑:并知道评论“属于”哪个规则/选择器)?即对于这个规则:

.my-rule {
    /* A Comment */
    color: blue;
}

我希望能够/* A Comment */通过 javascript 检索。

4

1 回答 1

1

这是更新的演示

JavaScript

var styles = document.getElementsByTagName('style')[0].textContent;
var comments =  styles.match(/\/\*.*\*\//g);
console.log(comments);

更新

由于 OP 想要与评论建立关系,请改用此代码:

var styles = document.getElementsByTagName('style')[0].textContent;
var objItems = {};
var arrItems = styles.split('}');
arrItems.pop();

for (var i = 0; i < arrItems.length; i++) {
    var grp = arrItems[i].split('{');
    objItems[$.trim(grp[0])] = arrItems[i].match(/\/\*.*\*\//g);
}

for(var i in objItems) {
      console.log(i + ': [ ' + objItems[i] + ' ]');
}
于 2012-12-31T15:59:36.893 回答