我们可以在JQuery中单行编写两个或更多元素样式

时间:2011-12-04 16:32:17

标签: css jquery

在JQuery中用单行写两个或更多元素样式,其中id的元素通过json object.value

创建了concatinating文本
     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'});
                    }
        );
     }

这里

    $('#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 个答案:

答案 0 :(得分:3)

您使用的是逗号错误。这是可能的,但需要写成

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

请注意,现在逗号 字符串。

更新:我要补充一点,将其写成可能更具可读性

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

但是Rob W打败了我。 : - )

答案 1 :(得分:2)

您必须以这种方式合并字符串中的选择器:

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

或者,您可以使用.add()方法合并选择器:

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