Jquery 需要优化用name属性替换多个输入字段内容的方法
我想将输入类型值设置为空,我只需输入passon name属性。 比如说 1多行:Jquery 需要优化用name属性替换多个输入字段内容的方法,jquery,Jquery,我想将输入类型值设置为空,我只需输入passon name属性。 比如说 1多行: $('input[name="library"]').val(''); $('input[name="books"]').val(''); $('input[name="author"]').val(''); 2单线: $('input[name="library"],input[name="books"],input[name="author"]').val(''); 以上两条线都为我工作。但我想要更多的优
$('input[name="library"]').val('');
$('input[name="books"]').val('');
$('input[name="author"]').val('');
2单线:
$('input[name="library"],input[name="books"],input[name="author"]').val('');
以上两条线都为我工作。但我想要更多的优化方式。有没有办法写得像下面这样
$('input[name="library"][name="books"][name="author"]').val('');
它会将所有3个输入字段都清空吗
还有一件事,我正在从其他服务器获取这些输入字段,并且我无法更改他们服务器上的输入字段类。因此,我只想替换我上面解释的一些输入字段。当然,最简单的方法是将一个类添加到所有三个输入中,然后根据该类更改它们的值作为选择器
<input type="text" name="library" class="input_change" />
$('.input_change').val('')
您可以使用相同的类名对所有输入进行分组,如:inputGroup 您的问题的答案是: $'.inputGroup'.val 试试这个
$("input[type=text]").each(function() {
$(this).val('My new value');
});
您可以通过删除“input”稍微优化语法;[attr=val]语法本身起作用:
$('[name="library"],[name="books"],[name="author"]').val('');
或者您正在寻求性能优化?您可以使用阵列和函数:
function inputEmpty( elem ) {
$('input[name="'+elem+'"]').val('');
}
var names = [ "library", "books", "author" ];
names.forEach( inputEmpty );
选中fiddle-如果您在jquery选择器中查找或喜欢语法,则答案是否,选择器中没有or运算符
最后一种方法是最简洁的方法,可以在不失去任何精确性的情况下选择您想要的内容
$('input[name="library"][name="books"][name="author"]').val('');
显示您的标记。。这样我们就可以从不同的角度来思考。比如$':input.filter'[name=library][name=books][name=author]'.val@chridam是一种优化的方法。从jQuery API文档来看,:input是一种扩展,不属于CSS规范的一部分,使用:input的查询无法利用原生DOM querySelectorAll方法提供的性能提升,但最好的性能是通过首先使用纯CSS选择器选择元素来实现的,然后使用.filter:input.Thank,我知道这一个,但我从其他服务器获取这些所有输入字段,并且我无法更改他们服务器上的输入字段类。所以我只想替换我这边的一些输入字段,我解释了,好的。编辑您的问题以反映这一点,以便其他人不会感到困惑: