문제

나를 구현하기 위해 노력하고 HTML 라디오 버튼 행동에 집 Div 에 JQuery.를 제거하려고"설정"클래스에서 모든 요소를 다음 사용하 addClass()를 다시 설정(하)하는 요소를 클릭:

$(".button").each(function() {
  $(this).click(function(){
    // what goes here to call removeClass() on *all* the elements?
    $(this).addClass("set");
  });
});

내가 원하는 전화를 removeClass()를 모든 요소를 이 경우$(".버"),하지만 할 수 없을 참조하$(".버")명시적으로 합니다.

수출$(".버").removeClass("set")외부 루프 이성을 높이기 위해 노력하는 프로그램과 행동에는 내부에는 각()루프에 의해 변경될 수 있습 다른 매개 변수입니다.

어떤 방법에 액세스하는 전체 세트의 요소를 내에서,또는 그들에게 전달에서 변수로?또는 있는 다른 방법으로 접근하는 문제입니까?

도움이 되었습니까?

해결책

당신이 찾고 있을 수 있습니다에 대한 새로운 선택 기능 때문에,당신은 플러그인:

jQuery.fn.test = function() {
    console.log(this.selector); // .button
};

$('.button').test();

다른 팁

할 수 없는 경우 하드드 선택에서 당신의 내면의 기능,jQuery 할 수 있는 실제로 반환하는 데 사용되는 문자열로에서 선택기본다.보 $('.bla').선택

이것은 추가 되었습니다만 최신 버전에서도.

이것은 불필요하게 복잡할 수 있습니다.더 명확한 그림을 얻기 위하여 무엇을 궁극적으로 노력하고 달성했다.

내부 루프를 가져올 수 있습니다 당신이 무엇을 좋아 jquery$("div")//루프 안에서

당신이 말하는"수는 없지만 참조하$(".버")명시적으로 합니다.".그 이유는 무엇입니까?

$(".button").each(function() {
  $(this).click(function(){
    $('.button').removeClass('set'); // this should do it
    $(this).addClass("set");
  });
});

변경:

$(".button").each(function() {
  $(this).click(function(){
    $('.button').removeClass("set");
    $(this).addClass("set");
  });
});

는 것이 문제가 되는 조금 느리하는 데 당깁니다.버튼을 때마다,하지만 그는 유일한 방법을 포함하는 루프에서 다음과 같습니다.

여전히지 참조할 수는 없습$('.버)에서 내부 기능을 캡처를 참조에서 무료로 변수를 대신?

var buttons = $(".button");
buttons.each(function() {
  $(this).click(function(){
    // what goes here to call removeClass() on *all* the elements?
    buttons.removeClass('set');
    $(this).addClass("set");
  });
});

내가 대답 묻는 질문에 몸의 텍스트:을 설정하려는 경우에는 클래스의 모든 기타 는 요소의 형제를 사용 형제입니다.

재미있기 때문에 이것은 로드맵하에 radioClass()

당신이 원하는 것은 형제자매, 고,사용하지 않는 각각의 설정을 클릭하 이벤트 중 하나.

$(".button").click(function() {
  $(this).addClass('set');
  $(this).siblings('.button').removeClass('set');
});

이 예제에 대해 위에서 작업:

http://jsbin.com/ewiqe

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top