JQuery中 attr 和 val 的區別

2021-10-03 22:42:11 字數 770 閱讀 8852

最近在專案中需要實現在 a 和 b 輸入框輸入數字後,自動將a和b的運算結果賦給 c 輸入框中,由於剛接觸jquery且知道 attr 和 val 都可以取值和賦值,所以這兩個方法也是隨便用,直到出了問題才發現事情並不簡單....

先說結論再貼**分析

1.val 可以獲取手動輸入的值,attr 不可以

2.用 val 賦值, val 可以獲取值 , attr 不可以

3.用 attr 賦值, val 和 attr 都可以獲取值, 如果手動改變輸入的值,val 可以獲取最新的值,attr 讀到的還是 attr 一開始賦的值

先手動輸入乙個數字

然後分別用 val() 和 attr("value") 列印出來

console.log("這個是val: "+$("#jibengongzi").val());

console.log("這個是attr:"+$("#jibengongzi").attr("value"));

可以看出,attr("value") 不能獲取手動輸入的值

接下來用 val() 來賦值 (ruleform.jibengongzi是數字)

$("#jibengongzi").val(ruleform.jibengongzi);
然後列印出來

再用 attr 賦值

$("#jibengongzi").attr("value",ruleform.jibengongzi);

JQuery的attr 與 val區別

attributename 需要獲取屬性的名稱。獲取匹配集中第乙個元素的屬性值。1.6中attr返回屬性的值為undefined,如果沒有設定 set 另外,attr不應該在普通物件 陣列 array 視窗 window 或者文件中 document 如果需要獲取或者設定dom屬性,則應該使用.pr...

jquery中val 和bind 用法

當用於返回值時 該方法返回第乙個匹配元素的 value 屬性的值。當用於設定值時 該方法設定所有匹配元素的 value 屬性的值。注意 val 方法通常與 html 表單元素一起使用。例子 document ready function 在jsp頁面如果在標籤中使用同名的名字,會在頁面造成一些衝突,...

jQuery中prop 和 attr 區別

prop 方法是在jquery1.6中新新增的。我們知道 attr checked 獲取checkbox的checked屬性時選中的時候可以取到值,值為 checked 但沒選中獲取值就是undefined。而現在使用prop方法獲取屬性則統一返回true和false。那麼具體的用法是什麼,以下是個...