jQuery .val()和.attr('value')有什么区别?
我认为标题是足够清楚的
.val()
以一种有用的方式处理所有的inputtypes元素,包括<select>
…甚至在<select multiple>
,checkboxes和radio button(其中.val()
获取或设置一个数组选定的值不只是一个string)。
所以基本上他们服务于不同的目的,尽pipe.attr('value')
在某些情况下的行为是一样的,比如文本框。 首选的方法是.val()
在任何地方都能获得一致的行为。
只是踢,这是一个鲜为人知的checkbox的例子,使.val()
方便:
<input name="mytest" type="checkbox" value="1"> <input name="mytest" type="checkbox" value="2"> <input name="mytest" type="checkbox" value="3"> <input name="mytest" type="checkbox" value="4">
你可以这样做:
$("input[name='mytest']").val([1, 2, 3]);
….将检查前3个盒子。 你可以在这里试试 。
另外.attr('value')返回编辑input字段之前的值。 .val()返回当前值。