$(function() { $("#tabs a:eq(0),#tabs2 a:eq (0),#dbt_l_t_tabs a :eq(0),#dbt_r_t_tabs a:eq(0)").addClass("m_on"); $("#tabs a:gt(0),#tabs2 a: gt(0),#dbt_l_t_tabs a:gt(0),#dbt_r_t_tabs a:gt(0)").addClass("m_out"); $("#tabs a,#tabs2 a,#dbt_l_t_tabs a, #dbt_r_t_tabs a").each (function(){ $(this).mouseover(function(){ if($(this).hasClass("m_out")) { var ab=$(this) .closest("li").closest("div").attr("id") var ulid="ul_" ab var arra=$("# " ab " a"); var e=arra.index($(this)); $("#" ab " a").removeClass("m_on").addClass("m_out") ; $(this ).removeClass("m_out").addClass("m_on") $("#" ulid " ul").hide() $("#" ulid " ul:eq(" e ")").show(); } }) }) })
23번째 줄의 할당은 다음을 사용합니다. JQuery의 인덱스 메소드. 객체에서 객체 요소의 인덱스 값을 찾습니다. 공식 설명: $('li').index($('#bar')); 여기서 index 매개변수는 작은따옴표를 사용합니다. 테스트 중에는 항상 실패합니다. . 이유를 모르겠어요. 나중에 $(this)가 위치한 객체가 먼저 직접 정의됩니다: var arra=$("#" ab "a");. 색인이 성공적으로 반환될 수 있습니다. 다음 탭 중 하나입니다