2012-05-31 17 views
3

使用jQuery 1.7.1,我已經注意到,當我查看文本輸入字段的value屬性/屬性不更新在Firebug的Inspect Element工具中,但在屏幕上更新,即在實際可見的文本框中。的jQuery 1.7.1 - 文本輸入的「價值」並不在Firebug更新檢查元素,但在屏幕上

例如,改變文本的以下的(使用內聯)的值時:

jQuery(function() { 
    jQuery('#event').val("test"); 
}); 

文本框本身顯示test但Firebug的檢查元素並不代表變化:

<input type="text" value="" placeholder="" id="event" name="event" class="input-text"> 

我確信在使用老版本的jQuery之前,我已經看到了Firebug的價值變化,但在這種情況下並不是這樣,也不是我的同事也在使用jQuery 1.7.1。

這是這個特定版本的jQuery的怪癖/錯誤還是我錯過了某個步驟?

回答

8

value屬性始終顯示defaultValue。 Firebug從未在屬性中顯示當前的value。 目前value始終顯示在屏幕上。

這有什麼好做螢火蟲或jQuery的,它是HTML標準。

0

有時螢火蟲並不總是反映一些變化,我之前已經注意到了這一點。

如果有刷新我還沒有找到它。您可以把螢火蟲,然後再打開或只使用控制檯檢查該值已更改

console.log($("#event").val()); 
0

我已經看到了這個太:即輸入的值屬性不會在Firebug改變。上次我注意到這是前一陣子(如2年)。順便說一句,我也使用jQuery,但我真的懷疑jQuery與此有關。這只是Firebug的工作原理(或至少是工作)。

當然,你仍然可以使用Firebug的控制檯來明確獲得的價值:

console.log($('input#event').val()) 
5

屬性值永遠不會改變,唯一的財產。

http://jsfiddle.net/cc5Pm/1/

var input = document.getElementsByTagName("input")[0]; 
setInterval(function(){ 
    input.value = parseInt(input.value) + 1; 
    console.log(input.value, input.getAttribute("value")); 
},1000); 
+0

耶!很好的例子;) –

+0

所以這就是一直。謝謝 – thednp

相關問題