jQuery -更好的方式编码几个重复行

vltsax25  于 4个月前  发布在  jQuery
关注(0)|答案(1)|浏览(60)

有没有更好的方法来编写下面的代码,请记住,没有设置最小或最大数量,格式将保持不变:checkba 0 ##和link-ba 0 ##等。

if(data.config.checkba01 == false) { $(element).find(".link-ba01").toggleClass("hide"); }
    if(data.config.checkba02 == false) { $(element).find(".link-ba02").toggleClass("hide"); }
    if(data.config.checkba03 == false) { $(element).find(".link-ba03").toggleClass("hide"); }
    if(data.config.checkba04 == false) { $(element).find(".link-ba04").toggleClass("hide"); }
    if(data.config.checkba05 == false) { $(element).find(".link-ba05").toggleClass("hide"); }
    if(data.config.checkba06 == false) { $(element).find(".link-ba06").toggleClass("hide"); }
    if(data.config.checkba07 == false) { $(element).find(".link-ba07").toggleClass("hide"); }
    if(data.config.checkba08 == false) { $(element).find(".link-ba08").toggleClass("hide"); }
    if(data.config.checkba09 == false) { $(element).find(".link-ba09").toggleClass("hide"); }
    if(data.config.checkba010 == false) { $(element).find(".link-ba010").toggleClass("hide"); }
    if(data.config.checkba011 == false) { $(element).find(".link-ba011").toggleClass("hide"); }
    if(data.config.checkba012 == false) { $(element).find(".link-ba012").toggleClass("hide"); }

字符串
谢谢

zpqajqem

zpqajqem1#

代码中的问题是冗余逻辑。要解决这个问题,可以使用循环来遍历这些项。这将减少给定实现中的冗余语句。

检查以下代码:

let i = 1;
let upperLimit = 12; // change it according to your requirements
while (i <= upperLimit) {
    const propertyName = `checkba0${i}`;
    const selector = `.link-ba0${i}`;

    if (data.config[propertyName] === false) {
        $(element).find(selector).toggleClass("hide");
    }

    i++;
}

字符串
上面的代码将从静态代码中分离出动态内容。

相关问题