2

私はcssファイルにこれを持っています

.datagrid table tbody td { color: #00496B; border-left: 1px solid
    #E1EEF4; font-size: 16px ;font-weight: normal; }

javascript を使用してフォントサイズを動的に変更するにはどうすればよいですか? この次のコードはすべての td で機能しましたが、.datagrid の下の特定の td にアクセスするにはどうすればよいですか? どんな助けでも大歓迎です。

css('td', 'font-size', '9px');
function css(selector, property, value) {
      for (var i=0; i<document.styleSheets.length;i++) {//Loop through all styles
          //Try add rule
          try { document.styleSheets[i].insertRule(selector+ ' {'+property+':'+value+'}', document.styleSheets[i].cssRules.length);
          } catch(err) {try { document.styleSheets[i].addRule(selector, property+':'+value);} catch(err) {}}//IE
      }
}
4

2 に答える 2

1

CSS をトラバースする代わりにdocument.getElementById、一意の ID を持つ要素を選択するために使用できます。それ以外の場合はgetElementByTagName、次のように使用できます。

document.getElementsByTagName('div')[0] //the first div in the document
document.getElementsByTagName('div')[1] //the second div... etc...

次に、インラインCSSを変更できます。<div id="mydiv" style="width: 200px;">

document.getElementById('mydiv').style.width = "200px"

それ以外の場合、インライン スタイルを挿入したくない場合は、外部 CSS に でアクセスできます。複数のスタイルシートがあるdocument.styleSheets[index]場合は index が使用されますdocument.styleSheets[0]。最初の外部 CSS の最初のルールを選択cssRules[index]します。document.styleSheets[0].cssRules[0]

于 2012-11-24T02:26:50.373 に答える
1

CSS ルールをマップする最も簡単な方法は、querySelectorAll を使用することです。

document.querySelectorAll(".datagrid table tbody td")

これは、最近のすべてのブラウザでサポートされています。

単一の要素をターゲットにしている場合:

document.querySelector(".datagrid table tbody td")

そして、この特定の要素のフォント サイズを変更するには:

document.querySelector(".datagrid table tbody td").style.fontSize="12px";
于 2012-11-24T02:39:16.710 に答える