2011-12-04 2 views
1

쓰기 요소의 ID가 여기에우리는 JQuery와

 checkSucess = function(first,last,value) { 
     // Jquery ajax with url,params and response 
     doPost('sucess.php', 
        'first=' + first + 
        '&last=' + last, 
        function(response) { 
         var obj = $.parseJSON(response); 
          $('#button'+obj.a,'#button'+obj.b,'#button'+obj.c).css({'text-decoration':'blink','color':'#4ECFBD'}); 
        } 
     ); 
    } 

object.value JSON으로 텍스트를 concatinating 만든 JQuery와, 단일 라인에서 두 개 이상의 요소 스타일에서 한 줄에 두 개 이상의 요소 스타일을 쓸 수 올바른
$('#button'+obj.a).css({'text-decoration':'blink','color':'Magenta','font-weight':'bold'}); 
    $('#button'+obj.b).css({'text-decoration':'blink','color':'Magenta','font-weight':'bold'}); 
    $('#button'+obj.c).css({'text-decoration':'blink','color':'Magenta','font-weight':'bold'}); 

작품,

하지만

$('#button'+obj.a,'#button'+obj.b,'#button'+obj.c).css({'text-decoration':'blink','color':'#4ECFBD'}); 

왜 작동하지 않습니까?

답변

2

이 방법으로, 문자열의 선택기를 병합해야 : 필요에 대한

$('#button'+obj.a) 
    .add('#button'+obj.b) 
    .add('#button'+obj.c) 
    .css({'text-decoration':'blink','color':'#4ECFBD'}); 
+0

첫 번째는 'add' 문법을 사용하기 위해 +1입니다. – Jon

+0

어떤 제안이 프로덕션 모드에서 더 잘 받아 들여질 것입니까 –

+0

@Jusnit 코드 가독성이 매우 중요하지 않다면 첫 번째 것. –

3

쉼표를 잘못 사용하고 있습니다. 이 가능하지만, 지금 쉼표가 문자열 내부 입니다

$('#button'+obj.a+',#button'+obj.b+',#button'+obj.c).css({ ... }); 

공지처럼 작성해야합니다.

업데이트 :가 나는

$('#button'+obj.a) 
.add('#button'+obj.b) 
.add('#button'+obj.c) 
.css({ ... }); 

로이 쓰기 더 읽을 수 수도 추가하려고했지만 롭 W는 나를 이겼다. :-)

+0

1 :

$('#button'+obj.a + ', #button'+obj.b + ', #button'+obj.c).css({'text-decoration':'blink','color':'#4ECFBD'}); 

다른 방법으로, 선택기를 병합 할 .add() 방법을 사용할 수 있습니다 대답의 첫 부분을 먼저 게시했습니다 : p –

+0

@ jfriend00 : 당신이 틀렸다는 말은 아니지만, IMHO는 그러한 비합리적인 조작이 어떻게 최적화 될지 추측하려고하지 않습니다. – Jon