3

valuejQuery 1.7.1を使用して、テキスト入力フィールドの属性/プロパティは、Firebugの要素の検査ツールで表示しても更新されませんが、画面上、つまり実際に表示されるテキストボックスでは更新されることに気付きました。

たとえば、テキストの値を次のように変更する場合(インラインで使用):

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

テキストボックス自体は表示されますtestが、FirebugのInspectElementは変更を表していません。

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

古いjQueryを使用する前にFirebugで値が変更されたことは確かですが、このシナリオでも、jQuery1.7.1を使用している同僚のシナリオでもありません。

これは、この特定のバージョンのjQueryの癖/バグですか、それともどこかでステップを逃したことがありますか?

4

4 に答える 4

8

value属性は常に。を示しますdefaultValue。Firebugはvalue、属性に現在の値を表示しませんでした。電流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

Firebugが常にいくつかの変更を反映するとは限らない場合がありますが、これは以前に気づきました。

リフレッシュがある場合、私はそれを見つけていません。Firebugをオフにしてから再度オンにするか、コンソールを使用して値が変更されたことを確認することができます

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

私もこれを見ました:つまり、入力のvalue属性はFirebugでは変更されません。前回注目したのは少し前(2年くらい)。ちなみに、私もjQueryを使っていましたが、jQueryがこれと関係があるのではないかと思います。これは、Firebugがどのように機能するか(または少なくとも機能するか)です。

もちろん、Firebugコンソールを使用して、値を確実に取得することもできます。

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