我有一个选择器,我应用插件selectmenu。工作正常,但是我想使用livequery来处理隐藏的元素(如果在应用selectmenu时隐藏了一个元素,则会将其隐藏)。
这有效:
$('select:visible').filter('[multiple!=multiple]').selectmenu();
但是我似乎无法对实时查询使用相同的语法:
$('select:visible').filter('[multiple!=multiple]').livequery(function() {
$(this).selectmenu();
});
这实际上并不过滤多个选择的元素。我不得不这样做:
$('select:visible').livequery(function() {
if($(this).attr('multiple') != 'multiple')
$(this).selectmenu();
});
任何人都知道为什么?我尝试过各种变体,例如:
$('select:visible:not([multiple=multiple])')...
以及同样的问题。
答案 0 :(得分:0)
尝试以下代码
$('select:visible:not([multiple])');
答案 1 :(得分:0)
您需要使用[multiple=true]
代替[multiple=multiple]
和[multiple=false]
代替[multiple!=multiple]
。