複合セレクタを使用していますが、ChromeとFirefoxなどで正常に動作します。 Internet Explorer 8では失敗します。私はまだ古いバージョンでそれをテストしていない。jQueryアドバンストセレクタがInternet Explorer 8で失敗する
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<title>Title</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'> </script>
<script type='text/javascript'>
$(function(){
$('span[style*="left:20px"][style*="width:100%"]').css({color:'red'});
$('#first').css({color:'blue'});
});
</script>
</head>
<body>
<span id='first' style='left:20px; width:100%;'>Should be red</span>
<span id='second' style='left:30px; width:100%;'>Should be blue</span>
</body>
</html>
ただ文脈に入れるには、no、スパンが常に同じスポットになりませんので、私はスパンにクラスやIDを追加することはできません、と私は彼らに基づいてCSSを調整する必要があります(他の興味深い理由で、私はそれらを移動するコードを編集できません)、私は外部スタイルを使用することはできません。
私はIEでこの作業を行うために欠けているものがありますか?できない場合は回避策を提案できますか?
$('span').each(function() {
if(this.style.left == "20px" && this.style.width == "100%") {
$(this).css({color:'red'});
}
});
フィドル:ここ
は、ここでの回避策だJSFiddle http://jsfiddle.net/RMzuh/1/
あなたのフィドルフォームと投稿のコードフォームを一致させる必要があります。あなたは同じHTML構造を投稿しませんでした。 –
ありがとう、ありがとう。 – Kirk
例では、最初のテキストを赤、次に青に設定します。「赤でなければなりません」というテキストは青で、「青でなければならない」というテキストはデフォルトの黒です。 – Guffa