我可以映射一个数组并将变量转换为几个不同的值吗



我需要使变量I等于1,2,3,4。因为这随后被用作需要隐藏/显示的div名称的一部分。

这是否可以很容易地实现?我一直在尝试循环、数组映射等。如果有任何帮助,我将不胜感激。

function listenForIconModalChange() {
// var modalNumbers = [1, 2, 3, 4];
// for (i = 0; i <= modalNumbers.length; i ++);
$('div[data-index^="icons_icon_"' + i + '"_modal_img"]').hide();
$('div[data-index^="icons_icon_"' + i + '"modal_img_adobe"]').hide();
$('div[data-index^="icons_icon_"' + i + '"_modal_imga"]').hide();
$('div[data-index^="icons_icon_"' + i + '"_modal_copy"]').hide();
$('div[data-index="icons_icon_"' + i + '"_modal"]').show();
enableIconModalDropdown = $('select[name="icons_icon_' + i + '"modal"]');
var enableIconModal = enableIconModalDropdown.val();
if (enableIconModal == 1) {
$('div[data-index^="icons_icon_"' + i + '"_modal_img"]').show();
$('div[data-index^="icons_icon_"' + i + '"modal_img_adobe"]').show();
$('div[data-index^="icons_icon_"' + i + '"_modal_imga"]').show();
$('div[data-index^="icons_icon_"' + i + '"_modal_copy"]').show();
}
enableIconModal1Dropdown.change(function() {
$('div[data-index^="icons_icon_"' + i + ']').hide();
$('div[data-index="icons_icon_"' + i + ']').show();
var enableIconModal = enableIconModal1Dropdown.val();
if (enableIconModal == 1) {
$('div[data-index="icons_icon_"' + i + ']').show();
}
});
}

您可以使用ES6模板字符串,如下所示:

$(`div[data-index^="icons_icon_${i}_modal_img"]`);

或者,如果你想保留你的语法,你必须删除一些引号:

$('div[data-index^="icons_icon_' + i + '_modal_img"]');

最新更新