2010-11-19 2 views
2

나는 다음과 같은 코드가 있습니다 기본적으로 코드가 그냥 다음을 통해 공중 선회하고 링크의 rel 속성의 값을 가져옵니다jQuery를 IE6, 7 오류

$('#main-nav a').mouseover(function() { 
    var name = $(this).attr("rel"); 
    $("#subnav ul." + name).show(); 
}) 

이의 클래스와 어떤 UL한다 동일한 값이 나타납니다.

이 코드는 다음과 같은 오류가 나에게주는 IE6에서 떨어져 다른 브라우저에서 잘 작동하고 7

: 잡은

    예외가 발생
  1. 하지 (내 JQuery와 1.4.4 파일)
  2. 객체 아무튼 ' 이 속성 또는 메서드를 지원하지 않습니다 (iv가 쓴 jquery 스크립트에서)

변수를 사용하지 않으면 iv가 내 선택기에서 변수를 사용한다는 것과 관련이 있습니다. 오류.

문제는 그것이 작동하기 위해서 거기에 변수를 넣어야하지만,이 오류를 일으키지 않는 더 좋은 방법을 아는 사람이 있습니까?

감사

+1

먼저 선택기를 만들려면 문자열과 변수의 연결이 항상 성공적으로 인쇄되는지 확인해야합니다. –

+0

경고 (이름)가 정확합니다 (sat, usa 또는 jap 일 수 있음) 세 가지 다른 값이 있습니다. 연결되면 selector는 #subnav ul.sat, #subnav ul.usa 또는 #subnav ul.jap이됩니다. 이것은 내가 선택자가되기를 원하는 것입니다. 만약 내가 변수를 가지고 엉망으로하지 않고 수동으로이 선택자 중 하나를 타이프하면 오류가 발생하지 않으므로 당황 스럽습니다! – geoffs3310

답변

4

는 지금까지 내가 말할 수있는, '#main-nav a'<a> 개체의 컬렉션을 반환합니다. each으로 결과를 반복 해 보았습니까?

$.each($('#main-nav a'), function (index, element) { 
    element.mouseover(function() { 
     var name = $(this).attr("rel"); 
     $("#subnav ul." + name).show(); 
    }); 
}); 
+0

당신은 천재입니다! 고맙습니다!!! – geoffs3310

+0

사실 IE7에서는 고정되었지만 IE6에서는 여전히 오류가 발생합니다! 내가 그 passioN와 브라우저를 싫어! – geoffs3310

+0

jQuery가 내부적으로하는 일이 아닌가? – RoToRa