2017-10-17 12 views
1

私はこのように見て、その中に入力されたテキストフィールドを持つ単純なWebアプリケーションを持っている:.getAttribute( "name")と.nameの違いは何ですか?

<input id="txtip" type="text" value="10.1.1.50" /> 

アドレス10.1.1.50は、IPアドレスのデフォルト値です。それでは、10.1.1.49に変更すると仮定してみましょう

txtip.getAttribute("value") 

:とJavaScriptから、私はこのようにそれを読んでいました。 GoogleのクロムのJavaScriptコード上記静止式

txtip.value 
10.1.1.49

戻りながら、10.1.1.50を返します。

違いは何ですか? 「正しい方法」とは何ですか?

+0

stacksnippetsで問題を再現できますか? – guest271314

+0

'value'は' input'の属性なので、 'getAttribute'でアクセスできるのですが、' value'もノード型 'input'のプロパティです。私は 'txttip.value'を使用します – JohanP

答えて

2

var el = document.getElementById('testBox'); 
 

 
$(document).focusout(function() { 
 
alert('el.value = ' + el.value); 
 
    alert('el.getAttribute("value") = ' + el.getAttribute('value')); 
 
    e.preventDefault(); 
 

 

 
});
<h2>Change value in the text box</h2> 
 

 

 
<input id="testBox" type="text" value="original value" /> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
あなたはコードタイプのものを、次のしてみてくださいに役立つかもしれないウェブ上でこれを発見し、差がリアルタイムでelement.valueであることで、ユーザーが変更された場合はのは、言わせ

focusoutそれが反映され、新しい値が表示されます。

getAttribute( 'value')は元の値= "whateverWasHere"の値を表示しますが、

+0

必ずしもそうではありません、それは混在したバッグです。 [* getAttribute()とElementオブジェクトのプロパティを比較する*](https://stackoverflow.com/questions/10280250/getattribute-versus-element-object-properties)あなたの答えにjQueryを使用する必要はなく、実際に表示しようとしています。 – RobG

+0

コメントありがとう! –

+0

皆さん、ありがとうございました – beddu

関連する問題