attr 與 prop 都可以對某個屬性進行獲取和設置的操作,二者的用法相同: <script src = 'jQuery.js'></script> <script> // attr: // 設置單個屬性 $(element).attr(name,value); // 設置多個屬性 $(eleme ...
attr 與 prop 都可以對某個屬性進行獲取和設置的操作,二者的用法相同:
<script src = 'jQuery.js'></script> <script> // attr: // 設置單個屬性 $(element).attr(name,value); // 設置多個屬性 $(element).attr(obj); // 獲取屬性 $(element).attr(name); // prop: // 設置單個屬性 $(element).prop(name,value); // 設置多個屬性 $(element).prop(obj); // 獲取屬性 $(element).prop(name); </script>
用處和區別卻是不一樣的,對於返回值是布爾類型的屬性,如:disabled, checked只能使用 prop 進行操作,當然更大的區別在於,attr 操作的是寫在元素內的字面屬性,而 prop 操作的是元素的 DOM 屬性:
<body> // 以訪問網站的形式打開頁面 // 例:假設文件在C盤中,上層主目錄文件夾為 folder-min <img id="img" src="/folder/image.jpg" /> <input id="check1" type="checkbox" checked="checked" /> <input id="check2" type="checkbox" /> <script> $( '#img' ).attr( 'src' ); // 控制台輸出:"/folder/image.jpg" $( '#check' ).prop( 'src' ); // "http://folder-min/folder/image.jpg" $( '#check1' ).attr( 'checked' ); // checked $( '#check1' ).prop( 'checked' ); // true 或 false 取決於覆選框狀態 $( '#check2' ).attr( 'checked' ); // undefined $( '#check2' ).prop( 'checked' ); // true 或 false 取決於覆選框的狀態 </script> </body>