我目前有这个匹配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需要你上课...我认为......任何帮助都会受到赞赏。
谢谢, 硅
答案 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_1
,switch_2
等),那么代码将帮助您:
$('.' + class1 + '_' + class2.split('_')[1]);
例如,
$('.' + 'action' + '_' + 'switch_3'.split('_')[1]);
将返回包含action_3
类的所有元素。