使用.attr()添加多个属性时出错

时间:2013-04-28 13:58:07

标签: javascript jquery

我想使用.attr()在html标记中添加多个html属性,但我在firebug控制台中收到以下错误:

SyntaxError: missing : after property id
[Break On This Error]      
aria-selected: true,   
#PrizeBondSearch (line 149, col 22)

以下是我尝试过的代码:

$('ul.k-group').find('a[href="#' + url + '"]').addClass('k-state-selected k-state-focused').parent().attr({
    aria - selected: true,
    id: 'panelbar_pb_active'
});

我不知道为什么我会收到此错误或如何解决。 如果还有其他更好的方法,我会很高兴知道它。

3 个答案:

答案 0 :(得分:3)

我认为这是你设置“aria-selected”的方式 - 你应该使用引号,因为它包含“ - ”:

{
    "aria-selected": true,
    id: 'panelbar_pb_active'
}

答案 1 :(得分:2)

正确的合成器是:

$('ul.k-group').find('a[href="#' + url + '"]').addClass('k-state-selected k-state-focused').parent().attr({
          "aria-selected": true,
          id: 'panelbar_pb_active'

      });

请参阅用双引号括起来的咏叹调(或者可以是单引号)。

答案 2 :(得分:1)

您需要引用aria-selected,因为其中包含-