セレクター/属性の代わりにプロパティ:値で CSS を検索することは可能ですか? それとも、これをサーバー スクリプトで解析する必要がありますか?
可能であれば、セレクターに IE7 ハックを自動的に追加するスクリプトを作成する予定display: inline-block
です。*display: inline; zoom: 1;
スタイルを要素に直接追加すると、次のようにフィルタリングできます。
コード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
両方を取得します。
このコードは、要素がインライン ブロックとしてスタイル設定されている場合に何かを処理できるようにする必要があります。
$("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/