我在下面有这个代码......
if (x == 0) {
$("#scenariotitle").val('');
$("#scenariosuffix").val('');
}
Run Code Online (Sandbox Code Playgroud)
......工作正常.但是,该列表将增加到大约5个jquery选择.
有没有办法将它们存储到数组中,然后对数组中的所有元素使用.val('')函数?如果可能,它会更有效吗?如果列表不超过10,我应该坚持单独列出它们吗?
编辑:我已决定使用此...
$("#scenariotitle, #scenariosuffix, #scenariosuffix, #scenariosuffix").val("");
Run Code Online (Sandbox Code Playgroud)
......这就是为什么我接受了下面的答案.但是,在如何正确使用jquery数组选择器的注释和其他答案中有一个非常好的讨论.
您可以将多个选择器连接成一个语句:
selector #1, selector #2, selector #3
$("#scenariotitle, #scenariosuffix, #scenariosuffix, #scenariosuffix").val("");
Run Code Online (Sandbox Code Playgroud)
当然你可以使用数组,但在这种情况下它是毫无意义的:
var selectors = [ "selector #1", "selector #2", "selector #n" ];
for (var i=0; i<selectors.length; i++) {
$(selectors[i]).val("");
}
Run Code Online (Sandbox Code Playgroud)
您可以将选择器存储在一个数组中,然后将它们组合起来以供使用(如果需要),如下所示:
var selectors = ["#scenariotitle", "#scenariosuffix"];
$(selectors.join(", ")).val("");
Run Code Online (Sandbox Code Playgroud)
然后使用数组.join()将其转换为多选择器(逗号分隔)以一次性获取所有元素.