正しく機能しない古いネストされたリストを使用するhtmlページがたくさんあります。ページがそれを使用しているかどうかを動的に調べてクラス属性を追加するか、これを行うためのより良い方法を提案したいと思います。
のすべての出現を動的に更新します
<ol type="a"> to <ol class="alpha">
または、タイプを使用しながら、埋め込みCSSを使用してスタイルを適用する方法があるかどうかを提案しますか?
正しく機能しない古いネストされたリストを使用するhtmlページがたくさんあります。ページがそれを使用しているかどうかを動的に調べてクラス属性を追加するか、これを行うためのより良い方法を提案したいと思います。
のすべての出現を動的に更新します
<ol type="a"> to <ol class="alpha">
または、タイプを使用しながら、埋め込みCSSを使用してスタイルを適用する方法があるかどうかを提案しますか?
JavaScriptでこれを実行したい場合は、jQueryを使用すると簡単です。
$(document).ready(function(e) {
$('ol[type="a"]').addClass("alpha").removeAttr("type");
});
これにより、<ol type="a">が<olclass= "alpha">に変更されます。これには、type = "a"でolを選択し、alphaクラスを追加してから、type属性を削除します。
JavaScriptを使用せずに、CSS属性セレクターを使用できます。
ol[type=a] {
color: red;
}
「機能しない」がどのように現れるか、または機能しないことによっては、これも「正しく機能しない」(最初に質問を読んだときに見逃したフレーズ)場合があることに注意することが重要です。
JavaScriptを使用する必要があると思われる場合は、次のように機能します。
var ols = document.getElementsByTagName('ol');
for (var i=0, len=ols.length; i<len; i++){
ols[i].className = ols[i].type == 'a' ? 'alpha' : '';
}
type
クラスが設定されたら属性を削除する場合:
var ols = document.getElementsByTagName('ol');
for (var i=0, len=ols.length; i<len; i++){
if (ols[i].type == 'a') {
ols[i].className = 'alpha';
ols[i].removeAttribute('type');
}
}