考虑到你的变量:
var txtName = $("input#txtName"),txtPrice = $("input#txtPrice");
您可以这样直接访问jQuery方法:
txtName.val("");
txtPrice.val("");
因为它们已经是 jQuery 对象了,所以不需要再尝试将它们包装在
$()
jQuery 函数中。
就我所知,
jQuery 函数 仅接受数组时,数组元素必须是 DOM 元素,而非 jQuery 对象。(如果它能使用 jQuery 对象工作,那似乎没有在文档中提及,而当我尝试过时它并没有起作用。)因此,考虑到您选择的是 ID,且您知道每个 jQuery 对象仅有一个元素,您可以尝试这样做:
$([txtName[0],txtPrice[0]]).val("");
但这仍然会创建一个包含两个元素的新jQuery对象,因此当您可以按照我最初提到的方式执行时,它似乎有点冗余。
(还要注意,在您的选择器“input#txtName”中,“input”部分是多余的,因为您随后通过id进行选择,而id在页面上是唯一的。)
编辑:如果您有一个非常长的变量列表并想要节省输入,另一种方法是像这样:
$.each([txtName,txtPrice,txtTest1,txtTest2,txtTest3],function(i,v) { v.val(""); });