-2
<ol class="myclass cls">
<li class="mylicls">
</li>
</ol>

私のCSSには、すでに定義されているmyclass、cls、myliclsがあります

上記のdivを出力したい

<ol class="myclass cls" style="behavior:url(/path/something.htc)">
<li class="mylicls">
</li>
</ol>

ここに私のJavaScriptがあります

document.getElementsByTagName(ol).style.behavior="url(/path/something.htc)";

Firefox の場合: style.behavior が
IE で定義されていません: オブジェクトが null または未定義です

4

2 に答える 2

4

document.getElementsByTagName(ol)nullを返しています。

あなたはおそらく意味しdocument.getElementsByTagName("ol")た。

ただし、その場合でも、単一のノードではなくノードのリストがあり、それぞれにスタイルを適用する必要があります。

var ols = document.getElementsByTagName("ol");
for (var i = 0; i < ols.length; i++) {
  var el = ols[i];
  el.style.behavior = "url(/path/something.htc)";
};

それでも、behaviourが知る限り、非標準であり、IEでのみ機能します。

于 2012-11-20T06:32:14.437 に答える
1

getElementsByTagName単一の要素ではなく、要素のリストを返しますが、何かが見つかった場合のみです。そのため、追加[0] て、実際に少なくとも 1 つの要素が見つかることを確認する必要があります。<ol>タグで関数に文字列を渡したいので'ol'(引用符を忘れました)。

その上、behaviorIEにのみ存在します。したがって、他のブラウザで使用すると失敗します。明らかにこれは、IE に欠けているが他のブラウザにはすでにある機能をシムする必要がない限り、まったく使用すべきではないことを意味します。

于 2012-11-20T06:31:19.573 に答える