.attr(attributeName)
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*/