오늘 jQuery 선택기와 addClass() 함수의 조합이 IE8에서 제대로 작동하지 않는다는 사실을 알게되었습니다.IE8 및 jQuery 선택기
jQuery(document).ready(function($){
$("#table1 tr:nth-child(even)").addClass("even");
}
을 그리고 CSS, 나는 썼다 : 나는 짝수 행이 테이블에 선택되어 있는지 확인하고자 할 때
예를 들어, 내가 쓴
#table1 tr:nth-child(even), #table1 tr.even {
background-color: #ff0;
}
를 파이어 폭스에서 , Chrome, Safari 및 Opera는 CSS 파일의 의사 클래스 선택기가 없어도 짝수 행이 선택됩니다. 그러나 IE8에서는 그렇지 않습니다. 행의 배경색이 다릅니다. 내가 사용하는 경우 때문에
이 이상해 :
jQuery(document).ready(function($){
$("#table1 tr:nth-child(even)").css({"background-color":"#ff0"});
}
선택한 행은 IE8으로 강조 표시됩니다.
문제의 예는 질문은 여기에서 볼 수있다 - 24ways example. Firefox, Chrome, Safari 및 Opera에서 홀수 행에는 "이상한"클래스가 할당됩니다. 그러나 IE8에서는 "이상한"클래스가 지정되지 않고 강조 표시되지 않습니다.
닉, 고맙습니다. 그것은 마술처럼 작용했습니다. IE8이 이런 방식으로 동작하는 이유는 실제로 수수께끼입니다. 왜냐하면 다른 의사 선택기에서는 그렇지 않기 때문입니다. 예를 들어 jQuery에서 first-child 및 last-child 의사 선택기를 사용한 경우에도 의도 한대로 작동합니다. 다시 한번 감사드립니다. – Terry
@teddyrised - 환영합니다. IE가 왜 이와 같이 작동하는지 잘 모르겠습니다. 5 만 가지의 목록에 추가 할 것입니다. 제쳐두고, 질문을 닫으려면 답을 수락하십시오/왼쪽에있는 체크 표시를 통해 Google에서이 문제를 찾는 다음 사람을 도우십시오. –
아, 도움에 많은 감사드립니다. 비록 내가 영원히 숨어 있었지만 나는 아직도 오버플로가 쌓여 새로운 것이다. 감사! – Terry