我有一个多重选择,我想用它来选择哪些元素显示在 HTML 模板窗口中。因此,我有几个要迭代的选项,并根据它是否已被选中,使预览元素可见或隐藏。 我想要这样的东西:
$('#area_select option').each(function(i){
if($(this).is(':selected')){var $css = {'visibility' : 'visible'}}
else{var $css = {'visibility' : 'hidden'}}
$(??????).css($css);
});
如您所见,我只是在我的 area_select 菜单中遍历每个选项(我很确定语法有效),但我不知道如何将 css 应用到相应的部分。 .. 如何通过我的选项引用我的预览元素?
最佳答案
更简单的方法是在多重选择上调用 .val()
。这会返回一组您可以迭代的选定值。
var array = $('#area_select').val()
$.each(array, function(i,val) {
// your code
});
就显示元素而言,这取决于选择选项的值中存储的数据类型。
对于 ID,执行此操作:
$(selectorForCollection).css('visibility','hidden');
var array = $('#area_select').val();
$.each(array, function(i,value) {
$('#' + value).css('visibility','visible');
});
或者如果它们是类名,那么这样做:
$(selectorForCollection).css('visibility','hidden');
var array = $('#area_select').val();
$.each(array, function(i,value) {
$('.' + value).css('visibility','visible');
});
关于javascript - Jquery/Javascript 将 $(this) 链接到不同 div 中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3168877/