2012-08-31 2 views
-2

조건의 일부입니다 removeClass 성명서. 그렇지 않다면 이것을 달성하는 방법에 대한 아이디어가 있습니까?jQuery를 :이 jQuery를 함께 가능하다면 클래스 난 그냥 궁금 해서요

감사합니다.

+0

여기에 예/아니오 질문을하지 어떤 값이 정말 없다이 jsFiddle를 참조하세요; 좀 더 나은 접근법은 샘플 코드를 조합 해 사용 해보고 작동하는지 확인하는 것입니다. 그렇지 않은 경우에는 작동 방법에 대한 설명을 요청하십시오 (처음 비슷한 질문을 검색 한 후 [jQuery docs] (http://api.jquery.com) – nbrooks

답변

0

예. 내부 블록이 실행되기 전에 조건이 평가되므로이 코드를 실행해도 문제가 없습니다.

0

예 가능합니다. 요소에 클래스가 있는지 여부를 평가하는 것입니다. 그렇다면 요소를 제거 할 것인지 다른 작업을 수행 할 것인지 결정할 수 있습니다.

0

YES

if ($(".the-title").is('.selected')) { 
    $('.the-copy').show(); //does display -> block without animation 
    $(".the-title").removeClass('selected'); 
} 
+0

코드에서'.css (display ','block ')'에서'.show()'로의 변경 만보고 있습니다. 그러나 문제와 관련된 것은 없습니다. –

0

절대적으로 수행 할 수 있습니다. removeClass를 기억하고 jQuery의 addClass에는 점이 필요하지 않습니다. 올바른 (간단한) 코드는 다음과 같습니다.

$('.the-title.selected') 
    .removeClass('selected') 
    .siblings('.the-copy').css('display', 'block'); 

이 복사본은 .the-title의 형제입니다. 다른 jquery dom traversing 함수로 바꿀 수 있습니다.

+0

"* removeClass 및 addClass는 jQuery에서 점 *이 필요하지 않음을 기억하십시오."- 그러나 코드에 포함되어 있습니다 ... 또한 대상의'.the-copy' 요소가이 형제임을 어떻게 알 수 있습니까? – nbrooks

+0

당신이 맞다면, 코드를 복사 할 때 제거하는 것을 잊어 버렸습니다. 결정된! 형제 자매에 관해서는, 나는 잘 모릅니다. 그러나 저는 예로서 보여주고 있습니다. 실제 답변에서 언급했듯이, OP는 그가 필요로하는 어떤 순회와도 대체해야합니다. – Kostia

+0

질문에 이미 지정된 선택기를 수정할 필요가 없음을 알 수 없습니다. 간단한 DOM 탐색 기법을 사용하여 이러한 요소를 대상으로하는 것이 '가능'하거나 합리적이지 않을 수 있으며 그 문제의 초점도 아닙니다. 어쨌든, ['.is()'] (http://api.jquery.com/is/)는 jQuery 객체가 아닌 부울을 반환하므로 어쨌든 그렇게 연결할 수는 없습니다. – nbrooks

0

예, 가능합니다. 그러나 removeClass에 대한 구문이 올바르지 않습니다. 그것은 이전 기간에 포함하지 않아야 : 아무도 정말 그들에게서 아무것도 학습하지 않기 때문에

if($(".the-title").is('.selected')) 
{ 
    $('.the-copy').css('display', 'block'); 
    $(".the-title").removeClass('selected'); //is this possible? 
} 

는, 데모>http://jsfiddle.net/QL7ds/1/

관련 문제