attr和val的比较

<input id="abc" class="abc" type="text" value="请输入" />
.attr 可以获得 id、class、type、value 的值

.val 则特指 value 的值
 
 

attributeName:需要获取属性的名称。

  获取匹配集中第一个元素的属性值。1.6中attr返回属性的值为undefined,如果没有设置(set)。另外,.attr不应该在普通对象、数组(array)、窗口(window)或者文档中(document)。如果需要获取或者设置DOM属性,则应该使用.prop()方法。

  使用.attr方法获取元素属性的值有两个主要优点:

方便(Convenience):这个方法可以在JQuery对象上直接调用和串联别的JQuery的方法。

跨浏览器的一致性(Cross-browser consistency):有报告说一些属性值在跨浏览器时的不一致性,甚至在同一浏览器的不同版本上也有不一致性。.attr减少这种不一致性

.val()

  获取匹配集中第一个元素当前的值。

  .val()就去主要用来获取表单中元素的值,例如input, select 或者textarea。

不同

<input data-name="user" id="name" value="aaaa" />

 

$( '#name' ).val() ; /* 'aaaa'*/
$( '#name' ).attr( 'data-name' ); /*user*/

猜你喜欢

转载自blog.csdn.net/wangyingjie290107/article/details/79968820