20

重複の可能性:
CSS クラスが Javascript で存在するかどうかをどのように判断できますか?

CSSに「some-class-name」という名前のクラスがあるかどうかを確認する方法はありますか?

たとえば、私は持っています:

<style type="text/css">
    .box {
        position: absolute;
        left: 150%;
    }
</style>

私の意図は、特定のイベントでクラスをdivにランダムに割り当てることです:

var classList = []; //Need to populate this array
$('#updateClass').on('click', function() {
    $('#resultDiv').attr('class',classList[Math.floor((Math.random()*classList.length)+1)]);
}); 

スタイルシートに「box」という名前のクラスが存在するかどうかを JS/jQuery で確認することはできますか?

この質問を参照しました-CSSクラスがJavascriptで存在するかどうかをどのように判断できますか? 、しかし、回答のリンクがもう存在しないため、回答は役に立ちませんでした。

ありがとう。

4

2 に答える 2

1

前述のように ( Javascript で css クラスが存在するかどうかをどのように判断できますか? )、要求されたクラスの完全な CSS をスキャンするか、要求されたクラスを要素に追加して、クラスの属性がそれに適用されるかどうかを確認できます。 . 例えば:

document.getElementById('yourTestElementID').className=newClass;
if(document.getElementById('yourTestElementID').style.position === 'thevalue' ) {
  // class exists....
}
于 2012-12-19T08:02:20.863 に答える
-2

あなたのランダムアルゴリズム:

Math.floor((Math.random()*classList.length)+1)

特定の範囲、より一般的には1からclassList.lengthまでの乱数を生成します。

使用するクラス名が配列に入力されることを確認する必要があります。

于 2012-12-19T08:07:09.187 に答える