Javascript Jquery处理具有给定id模式的元素数

Javascript Jquery处理具有给定id模式的元素数,javascript,jquery,Javascript,Jquery,如果未选中单选按钮,下面的代码将隐藏一个部分 if ($('#Items_0__Suffix:checked').val() === 'No') { $('#section0').hide(); } 现在,如果我们有多个项目,那么编写代码的简洁方法是什么,而不是像下面这样编写代码: if ($('#Items_0__Suffix:checked').val() === 'No') { $('#section0').hide(); } if ($(

如果未选中单选按钮,下面的代码将隐藏一个部分

if ($('#Items_0__Suffix:checked').val() === 'No') {
        $('#section0').hide();
    }
现在,如果我们有多个项目,那么编写代码的简洁方法是什么,而不是像下面这样编写代码:

if ($('#Items_0__Suffix:checked').val() === 'No') {
        $('#section0').hide();
    }
if ($('#Items_1__Suffix:checked').val() === 'No') {
            $('#section0').hide();
        }
也许是一个循环

for (var i = 0; i <= amountOfButtons; i++) {
    if ($('#Items_' + i + '__Suffix:checked').val() === 'No') {
        $('#section0').hide();
    }
}

for(var i=0;i假设复选框id的序列以零开始,并且对应的元素的id也以零开始,您可以使用
jquery以
选择器开始,并使用
jquery index()
计算出要显示/隐藏的元素

$("[id^=Items_]").on("click",function()
{        
   var index = $(this).index();
   !$(this).is(":checked") ? 
   $('#section' + index).hide() : $('#section' + index).show();
});

示例:

创建函数并在上下文中传递。重用剩余代码。示例:

Var doWork = function(context) {
       If ($(context).val() == 'No') {
            $('#section0').hide();
       }
 }

通过这种方式,您可以调用相同的函数和代码以供重用,而无需每次重复。

看起来您的选择器使用了一种可迭代的模式。通过循环(
var i
用于索引)和
$(“#Items_'+i+'\uu后缀:checked')运行它。val()
html结构是什么样子的?可能根本不需要ID。注意,这假设项目是同级的……只需简单调整即可为项目编制索引,而不必考虑结构