我有一個輸入字段<input value="hello"/>
。如何以跨瀏覽器的方式獲取value屬性中的內容?如果我做的是$input.attr('value')
或$input.val()
,它會返回用戶輸入到字段中的當前值,而不是value屬性中設置的值。JQuery - 如何獲取在輸入字段的值屬性中設置的值?
如果我做input.getAttribute('value')
,它會返回我想要的,但這是跨瀏覽器兼容嗎?
我有一個輸入字段<input value="hello"/>
。如何以跨瀏覽器的方式獲取value屬性中的內容?如果我做的是$input.attr('value')
或$input.val()
,它會返回用戶輸入到字段中的當前值,而不是value屬性中設置的值。JQuery - 如何獲取在輸入字段的值屬性中設置的值?
如果我做input.getAttribute('value')
,它會返回我想要的,但這是跨瀏覽器兼容嗎?
使用defaultValue
屬性:
input.defaultValue;
$("whatever").get(0).defaultValue;
使用jQuery,你可以使用:
$('input').attr('value');
不過的getAttribute()函數應該是可以跨瀏覽器。
變量值它不能正常工作。一旦你改變了文本框的值,這個函數就會返回改變後的值,而不是原始屬性的值。只有'getAttribute'讀取* original *'value'屬性。 – Blender 2011-04-14 15:19:18
在我的問題中,我說我使用了它,它返回當前值,而不是我想要的,這是在屬性中設置的值。 – Kyle 2011-04-14 15:20:15
對不起,我誤讀了帖子。 – MacAnthony 2011-04-14 15:26:30
看看我的演示:http://jsfiddle.net/YUGQz/3/。
看起來value
屬性是在更改文本框的文本時更新的(至少在使用jQuery時),所以.attr('value')
不能正常工作。
但如果你試試這個演示:http://jsfiddle.net/YUGQz/4/,你可以看到,使用純 JavaScript,您可以得到原始屬性的值:
document.getElementById('foo').getAttribute('value');
如果有人想嘗試一下本作跨瀏覽器的兼容性,那樣就好了。只需更改文本框的值,然後按按鈕。
點不夠加註釋到Blender的
說下火狐,Chrome和Safari的作品,但沒有IE瀏覽器下正常工作(8)。在IE中,你會得到與jQuery相同的行爲。它返回文本框的當前值。
你可以存儲在document.load – jimy 2011-04-14 15:12:40