2012-04-08 2 views
1

나는 이걸 가지고 내 머리카락을 찢어 버리고있다. 내 사이트에서IE8에서 작동하지 않는 jQuery 및 막내 어린이

은 내가 트위터 피드의 마지막 요소에서 border-bottom을 제거하는 :last-child를 사용 : 이것은 마지막 아이를 지원하지 않습니다 IE8을 파이어 폭스/크롬에서 잘 작동하지만

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

. 그래서, 나는 JQuery와에 서서이 효과가 없습니다 내 <head>

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

에 넣고? 필자는 외부 파일을 사용하여 IE8과 관련없이 문서를 준비하지 않고 시도했다. 필자의 jQuery가 올바른지 확인하기 위해 Firebug의 선택기를 테스트 해 보았다. 어떤 아이디어? 그래서 귀하의 경우 - :last-child이 세트 내 마지막 자식 요소를 검색, 참고로

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

:

The site is here

답변

2

코드는 문제가 당신이 맨 아래에있는 jQuery 라이브러리를 포함하기 때문에 발생, 괜찮아요 페이지의,하지만 귀하의 상단에 IE8 스크립트를 실행합니다.

jQuery를이

가 jQuery를 혼입 한 후 코드를 이동

('$' is undefined, 을뿐만 아니라 오류가 발생합니다) 그래서 당신의 스크립트가 실패, 아직로드되지 않고, 당신은 설정해야합니다.

+1

나는 생각 - '$ (document) .ready (function() {'? – rwb

+2

@ryan, 그러나'$'는 아직 존재하지 않습니다. 요점은 DOM이로드되도록 허용하는 것입니다. jQuery를 사용하기 전에로드하십시오. –

+0

if ($ .browser.msie && parseInt ($. browser.version, 10) === 8) {'내 functions.js에서 트릭을했습니다. – rwb

1

:last-child 대신 :last를 사용해보십시오 당신의 도움을 주셔서 감사합니다 li 요소의 마지막 자식 요소를 ul#twitter 내에 찾아야합니다.

:last은 집합 내 마지막 요소를 검색하므로 그 자체가 ul#twitter 내에 일치하게됩니다.

+0

방금 ​​업로드되었습니다. 아니 기쁨 : ( – rwb

0

어쩌면 당신의 선택으로

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

또는

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

를 사용하는 것이 좋습니다

+0

'$ ('ul # twitter li'). 마지막(). css ('국경', '없음'); 또한 didnt 일 (지금 사이트에 라이브) – rwb

관련 문제