2011-04-14 53 views
1

我有一個輸入字段<input value="hello"/>。如何以跨瀏覽器的方式獲取value屬性中的內容?如果我做的是$input.attr('value')$input.val(),它會返回用戶輸入到字段中的當前值,而不是value屬性中設置的值。JQuery - 如何獲取在輸入字段的值屬性中設置的值?

如果我做input.getAttribute('value'),它會返回我想要的,但這是跨瀏覽器兼容嗎?

+0

你可以存儲在document.load – jimy 2011-04-14 15:12:40

回答

4

使用defaultValue屬性:

input.defaultValue; 

$("whatever").get(0).defaultValue; 
0

使用jQuery,你可以使用:

$('input').attr('value'); 

不過的getAttribute()函數應該是可以跨瀏覽器。

+0

變量值它不能正常工作。一旦你改變了文本框的值,這個函數就會返回改變後的值,而不是原始屬性的值。只有'getAttribute'讀取* original *'value'屬性。 – Blender 2011-04-14 15:19:18

+0

在我的問題中,我說我使用了它,它返回當前值,而不是我想要的,這是在屬性中設置的值。 – Kyle 2011-04-14 15:20:15

+0

對不起,我誤讀了帖子。 – MacAnthony 2011-04-14 15:26:30

0

看看我的演示:http://jsfiddle.net/YUGQz/3/

看起來value屬性是在更改文本框的文本時更新的(至少在使用jQuery時),所以.attr('value')不能正常工作。

但如果你試試這個演示:http://jsfiddle.net/YUGQz/4/,你可以看到,使用 JavaScript,您可以得到原始屬性的值:

document.getElementById('foo').getAttribute('value'); 

如果有人想嘗試一下本作跨瀏覽器的兼容性,那樣就好了。只需更改文本框的值,然後按按鈕。

0

點不夠加註釋到Blender的

說下火狐,Chrome和Safari的作品,但沒有IE瀏覽器下正常工作(8)。在IE中,你會得到與jQuery相同的行爲。它返回文本框的當前值。

相關問題