2012-04-08 9 views
1

私はこの1つで私の頭を裂いています。私はTwitterのフィードの最後の要素からborder-bottomを削除する:last-childを使用して自分のサイトでjQueryとlast-childはIE8で動作していません

ul#twitter li:last-child { 
    border: none; 
} 

これが最後の子をサポートしていないIE8のFirefox/Chromeで正常に動作しますが、ありません。だから、私はjQueryのになって、私の<head>

<!--[if IE 8]> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $('ul#twitter li:last-child').css('border','none !important'); 
     }); 
    </script> 
<![endif]--> 

でこれを置くこれは効果がありませんか? Iveは、外部ファイルを使用して、IE8固有ではなく、ドキュメントの準備ができていないことを試みました...また、Firebugのセレクタをテストして、jQueryが正しいことを確認しました。何か案は?そう、あなたのケースで - :last-childは、セット内の最後の子要素を探し、参考のため

$('ul#twitter li:last').css(...) 

The site is here

答えて

2

あなたのコードだけで結構ですとあなたが一番下にjQueryライブラリが含まれているため、問題が発生した

$('ul#twitter li').last(); 

または

$('ul#twitter li:last'); 

を使用することをお勧めしますあなたのIE8スクリプトを実行してください。

jQueryのスクリプトが失敗したので、まだロードされていない(と同様のエラーがスローされます、'$' is undefined

は、jQueryのインクルージョンの後にコードを移動し

、あなたが設定する必要があります。

+1

私はそれを思った'$(document).ready(function(){'? – rwb

+2

@ryan、しかし '$'はまだ存在しません。ポイントはDOMの読み込みを許可することですが、それを使用する前にjQueryをロードしてください。 –

+0

if($。browser.msie && parseInt($。browser.version、10)=== 8){'my functions.jsでトリックがありました - ありがとう – rwb

1

:last-childの代わりに:lastを使用してみてくださいあなたの助けをありがとうli要素内の最後の子要素をul#twitter内に探します。

:lastは、最後のli自体がul#twitterに一致するように、セット内の最後の要素を探します。

+0

アップロードされました。いいえ、喜び: – rwb

0

多分あなたの選択

+0

'$( 'ul#twitter li')。最後().css( 'border'、 'none');' didnt work(現場で今生きている) – rwb

関連する問題