3

使用 jQuery 1.7.1,我注意到value当我在 Firebug 的 Inspect Element 工具中查看文本输入字段时,它的属性/属性不会更新,但会在屏幕上更新,即在实际可见的文本框中。

例如,当使用以下内容(内联使用)更改文本的值时:

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

文本框本身会显示test,但 Firebug 的 Inspect Element 并不代表更改:

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

我确信在使用旧 jQuery 之前我已经看到 Firebug 中的值变化,但是在这种情况下没有,我的同事也使用 jQuery 1.7.1。

这是这个特定版本的 jQuery 的怪癖/错误还是我在某个地方错过了一步?

4

4 回答 4

8

value 属性始终显示defaultValue. valueFirebug 从未在属性中显示当前值。电流value始终在屏幕上可见。

这与 Firebug 或 jQuery 无关,它是 HTML 标准。

于 2012-05-31T14:52:37.670 回答
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);
于 2012-05-31T14:52:35.927 回答
0

我也看到了这一点:即输入的 value 属性在 Firebug 中没有改变。上次我注意到这一点是不久前(比如 2 年)。顺便说一句,我也在使用 jQuery,但我真的怀疑 jQuery 与此有关。这就是 Firebug 的工作方式(或至少工作方式)。

当然,您仍然可以使用 Firebug 控制台来明确获取值:

console.log( $('input#event').val() )
于 2012-05-31T14:52:09.620 回答
0

有时 Firebug 并不总是反映一些变化,我之前已经注意到这一点。

如果有刷新我还没有找到。您可以关闭并再次打开 Firebug,或者只使用控制台检查值是否已更改

console.log($("#event").val());
于 2012-05-31T14:51:07.987 回答