Is there a better way of writing the code below, keep in mind there is no set minimum or maximum number and the format will remain the same: checkba0## and link-ba0## etc.
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"); }
Thanks
2
Answers
The problem in your code is redundant logic. To fix this, you can use a loop to iterate over the items. This will reduce the redundant statements in the given implementation.
Check following code:
Above code will seperate the dynamic contents from the static code.
You can do it like below:
a) loop over
data.config
b) Check value is false
c) If yes then use the key by replacing
check
withlink-
from it to toggle the class from the corresponding element.Working snippet: