免责声明:我是JQuery的新手
我不知道如何标题这个问题,但首先我的代码在下面
$(document).on("click" ,'[id^="picChangeAddress"]', function() {
$('div[id^="divAddressSet"]').toggle();
});
请注意,我的div和Checkboex数量相同,每个名称格式也相同,例如复选框picChangeAddress1, picChangeAddress2
等等,以及div divAddressSet1, divAddressSet2
和等等。
我已使用上述代码,因为这些ID是在运行时生成的。当我点击一个复选框时,我首先需要问一些事情,它会影响页面上的每个div div[id^="divAddressSet"]
,当我点击[id^="picChangeAddress"]
任意一个复选框时,它们都会切换。我希望你能帮助我如何一次只显示或隐藏一个div。
任何想法?
答案 0 :(得分:2)
您可以从ID中提取数字,然后您可以使用ID选择器隐藏div
$(document).on("click" ,'[id^="picChangeAddress"]', function() {
var num = parseInt(this.id.match(/\d+/)[0],10); //Extract number
$('#divAddressSet'+num).toggle();
});
答案 1 :(得分:1)
您需要从ID中提取数字并使用它,以便您定位正确的选择器:
$(document).on("click" ,'[id^="picChangeAddress"]', function() {
$('div[id="divAddressSet'+this.id.substring(16)+'"]').toggle();
});
答案 2 :(得分:1)
试试这个:
$(document).on("click" ,'[id^="picChangeAddress"]', function() {
var o = this.id.split('').pop();
$("#divAddressSet"+o).toggle();
});