4

セレクター/属性の代わりにプロパティ:値で CSS を検索することは可能ですか? それとも、これをサーバー スクリプトで解析する必要がありますか?

可能であれば、セレクターに IE7 ハックを自動的に追加するスクリプトを作成する予定display: inline-blockです。*display: inline; zoom: 1;

4

2 に答える 2

4

スタイルを要素に直接追加すると、次のようにフィルタリングできます。

コード1

$("[style*='inline-block']");

ただし、スタイルが css を使用して計算されている場合、上記のコードは要素を取得しません。この場合、次を使用できます。

コード 2

$('*').filter(function() {
    return $(this).css('display') == 'inline-block';
});

したがって、次のhtmlがあるとします。

<div style="display: inline-block"></div>
<div class="someClass"></div>

Code1最初のものだけを取得します。
Code2両方を取得します。

于 2012-08-17T19:50:39.093 に答える
2

このコードは、要素がインライン ブロックとしてスタイル設定されている場合に何かを処理できるようにする必要があります。

$("body *").each(function (i) {
    if ($(this).css('display') == "inline-block") {
        //inline block - do what you need to do
        this.style.color = "blue";
        alert($(this).css('display'));            
    }
});

実際の例については、jsfiddle を参照してくださいhttp://jsfiddle.net/nevtn/

必要なスクリプト全体は次のとおりです。

$(document).ready(function(){

if ($.browser.msie  && parseInt($.browser.version, 10) === 7) {
    $("body *").each(function (i) {
        if ($(this).css('display') == "inline-block") {
            //inline block - do what you need to do
            $(this).css({'display':'inline', 'zoom':'1'});  
        }
    });
}

});​

デモの例 (偽の IE7) http://jsfiddle.net/nevtn/5/

于 2012-08-17T20:08:19.660 に答える