0

正しく機能しない古いネストされたリストを使用するhtmlページがたくさんあります。ページがそれを使用しているかどうかを動的に調べてクラス属性を追加するか、これを行うためのより良い方法を提案したいと思います。

のすべての出現を動的に更新します

<ol type="a"> to <ol class="alpha">

または、タイプを使用しながら、埋め込みCSSを使用してスタイルを適用する方法があるかどうかを提案しますか?

4

2 に答える 2

2

JavaScriptでこれを実行したい場合は、jQueryを使用すると簡単です。

$(document).ready(function(e) {
    $('ol[type="a"]').addClass("alpha").removeAttr("type");
});

これにより、<ol type="a">が<olclass= "alpha">に変更されます。これには、type = "a"でolを選択し、alphaクラスを追加してから、type属性を削除します。

于 2012-09-27T16:34:58.507 に答える
1

JavaScriptを使用せずに、CSS属性セレクターを使用できます。

ol[type=a] {
    color: red;
}

JSフィドルデモ

「機能しない」がどのように現れるか、または機能しないことによっては、これも「正しく機能しない」(最初に質問を読んだときに見逃したフレーズ)場合があることに注意することが重要です。

JavaScriptを使用する必要があると思われる場合は、次のように機能します。

var ols = document.getElementsByTagName('ol');

for (var i=0, len=ols.length; i<len; i++){
    ols[i].className = ols[i].type == 'a' ? 'alpha' : '';
}

JSフィドルデモ

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');
    }        
}

JSフィドルデモ

于 2012-09-27T16:29:56.980 に答える