2

MDN ( https://developer.mozilla.org/en-US/docs/DOM/CSSStyleRule )によると、CSSStyleRule オブジェクトの style プロパティは読み取り専用です。最新のブラウザー (主に 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 に答える