2016-08-26 9 views
0

を取得する:getElementByIdを入力フィールド指定された入力フィールド長

<input type="text" id="papaya"> 

なぜこの作品

$(document).ready(function() { 
    alert($('#papaya').val().length); 
}); 

を行いますが、これはしないのですか? javascriptのための

$(document).ready(function() { 
    var pp = document.getElementById('papaya'); 
    alert(pp.val().length); 
}); 
+0

'ヴァル() 'であります純粋なDOM要素ではなく、jQueryオブジェクトによってのみ提供される関数です。 –

+1

'pp.value'または' $(pp).val() ' –

+0

は' pp.value.length'を使用します –

答えて

1

最初の例では、ppjQuery APIを提供する要素のセットのラッパーであるjQueryオブジェクトへの参照であるが、2番目の例では、それだから.value含むvalようなjQueryのメソッドを持っていないが、それ自体のメソッドとプロパティを持っているのDOM要素への直接参照、:

$(document).ready(function() { 
    var pp = document.getElementById('papaya'); 
    alert(pp.value.length); 
    // -----^^^^^^^ 
}); 
1

使用値:あなたはvalue代わりのval()を使用する必要があるバニラJSで

alert(pp.value.length); 
1

val()関数はjQuery独自の実装です。

var pp = document.getElementById('papaya'); 
 
console.log(pp.value.length);
<input type="text" id="papaya" value="123">

関連する問題