我正在尝试使用这个选择器它不适合我
var pr = $(this).closest('fieldset');
$( pr + ' > .given option:selected').remove().appendTo(pr + ' > .allowed');
我收到此错误
Error: uncaught exception: Syntax error, unrecognized expression: [object Object]
为什么这不符合我的预期?
答案 0 :(得分:7)
您的代码存在的问题是pr不是字符串。因此,您无法将其添加到选择器的其余部分。
这应该有效:
$('.given option:selected', pr).remove().appendTo($('.allowed', pr));
这将强制jQuery在pr
的上下文中进行搜索答案 1 :(得分:0)
您似乎在混合使用jQuery对象和选择器。
pr
变量在此行之后成为javascript(jQuery)对象:
var pr = $(this).closest('fieldset');
然后你将这个对象附加到一个新的选择器,而不是它应该如何完成。如果我理解您的意图,请尝试以下方法:
var pr = $(this).closest('fieldset');
pr.filter('.given option:selected').remove().appendTo(pr.filter('.allowed'));