Jquery匹配两个具有相同编号的类?

时间:2015-07-17 07:37:11

标签: javascript jquery

我目前有这个匹配2个ID,在jQuery中有类似的方式对类做同样的事情......

$('#action_' + this.id.replace('switch_', ''));

...试图

$('action_' + this.replaceWith('switch_', ''));

但显然没有用,否则我不会在这里: - )

以下是我正在使用的代码片段......

$('input[id^="switch_"]').change(function(){
            if($(this).is(":checked")) {
                $('#actionSel_' + this.replaceWith('switch_', '')).prop('disabled',false).trigger("chosen:updated").trigger("change");
                $('.antenna').button('enable').trigger("change");
            } else {
                $('#actionSel_' + this.replaceWith('switch_', '')).prop({'disabled': true, 'selectedIndex': 0}).trigger("chosen:updated").trigger("change");
                $('.antenna').prop('checked', false).button('disable').trigger('change');
            }
        });

由于页面上有多种形式,所以基本上而不是id需要你上课...我认为......任何帮助都会受到赞赏。

谢谢, 硅

3 个答案:

答案 0 :(得分:2)

我认为这就是你要找的东西。

$('.action_' + this.id.replace('switch_', ''));

使用.在jquery中引用带有css类的控件,就像你使用带有id的#一样。

答案 1 :(得分:0)

使用jQuery(和CSS)选择器,使用.item匹配类,使用#item匹配id:

$('.action_' + this.replaceWith('switch_', ''));

答案 2 :(得分:0)

如果您想匹配两个具有相同编号的类,且格式始终为classname_number(例如action_1switch_2等),那么代码将帮助您:

$('.' + class1 + '_' + class2.split('_')[1]);

例如,

$('.' + 'action' + '_' + 'switch_3'.split('_')[1]);

将返回包含action_3类的所有元素。