質問

私はかつて、jQueryについてJqueryでは、いくつかのプロパティが異なる名前を持っていると述べているjqueryについてのテキストを見ました。 jqueryでValまたはそのようなものとしてアクセスされたのは、Valueプロパティだったと思います。 JQueryはこれをたくさんしますか? jQueryの一般的な慣行はプロパティ名を変更するのですか?

役に立ちましたか?

解決

jQueryはプロパティ名を変更しません。

jQueryは、JQueryオブジェクトで独自の方法を実装しています。これらは、DOMプロパティまたはDOMメソッドから完全に分離されています。

たとえば、jqueryオブジェクトから入力コントロールの値を取得できます。 .val() 方法。内部的には、 .val() jQueryオブジェクトのメソッドは、domオブジェクトの内容にアクセスします(おそらく .value プロパティ)、しかし、それはそのdomプロパティを決して置き換えていません。代わりに使用することを選択しています。

同様に、jQueryにはaがあります .html() を返す方法 innerHTML オブジェクトの。繰り返しますが、これはjQueryオブジェクトのjqueryメソッドであり、DOMプロパティを置き換えません innerHTML 何らかの形で。

説明するコードの例を次に示します。

<input id="test" type="text">
<div id="title">This is my Title</div>

Plain JavaScriptの使用:

var text = document.getElementById("test").value;
var title = document.getElementById("title").innerHTML;

jqueryの使用:

var text = $("#test").val();
var title = $("#title").html();

両方のjQueryの方法は、プロパティではなくメソッド呼び出しであることに注意してください。

jQueryオブジェクトを使用している場合でも、 .get(n) 方法とDOMプロパティを使用しますが、通常はそうする理由はありません。

var text = $("#test").get(0).value;
var title = $("#title").get(0).innerHTML;

他のヒント

jQueryはプロパティ名を変更しません。 jQueryは、dom要素ではなくjqueryインスタンスを返します。

もしあなたがそうするなら $thing[0].value それが動作します。もしあなたがそうするなら $thing.prop("value") それが動作します。

使用する場合 $thing.val(); これは、jQueryのvalメソッド(Valのような「親切」ですが、奇妙なエッジケースマジックの束も行います)であり、「おそらく」ラップドム要素の値を「おそらく」返します。

私が知っているわけではありません、の場合 val これは、あらゆるフォームフィールド(テキストフィールド、ラジオボタン、チェックボックス、テキストリアスなど)の値を設定または取得できるためです。 input.value すべての場合において。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top