根据MDN(https://developer.mozilla.org/en-US/docs/DOM/CSSStyleRule)CSSStyleRule对象的style属性是只读的。有没有办法能够在现代浏览器中可靠地修改其样式属性(主要是chrome / safari和firefox,但IE9也会很好)?
半相关问题,但有没有办法访问样式规则内的注释(编辑:并知道评论“属于”哪个规则/选择器)?即对于这条规则:
.my-rule {
/* A Comment */
color: blue;
}
我希望能够通过javascript检索/* A Comment */
。
答案 0 :(得分:1)
以下是UPDATED DEMO
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] + ' ]');
}