ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery_jquery の .attr() と .prop() の問題に関するディスカッション

jQuery_jquery の .attr() と .prop() の問題に関するディスカッション

WBOY
WBOYオリジナル
2016-05-16 17:23:251076ブラウズ

ちなみに、数行コードを書いたところ、IE8では正常に動作しましたが、ChromeとFFでは動作しませんでした。友人にこれはRPだと言われ、憂鬱です。

実際、機能要件は次のとおりです。2 つの無線: オスとメス、および 1 つのボタン: リセットです。起動ページではデフォルトで男性が選択されており、ユーザーが女性を選択してリセット ボタンをクリックした後、デフォルトの状態に戻す必要があります。

コードをコピー コードは次のとおりです:



🎜>
私の js コードは次のとおりです:

コードをコピーします コードは次のとおりです:
$("#reSet").click(function() {
$("input[name='sex']:first").attr("checked",true);
});

結果は、最初に述べたとおりで、何人かに尋ねましたが、後で API を確認したところ、 .prop() メソッドであることがわかりました。 jQuery1.6 バージョンで追加されました。 .attr() と違いはないようで、どちらも属性値の取得と設定に使用できます。後で、.prop() メソッドがブール値属性に適していることを知りました。公式の説明では、selectedIndex、tagName、nodeName、nodeType、ownerDocument、defaultChecked、defaultSelected プロパティには .prop() メソッドが必要です。また、インターネット上では「属性名を追加すると属性が有効になる。.prop() を使用する必要がある」という意見が多くあります。他の属性は確認していませんが、「checked」属性は有効になります。追加した。したがって、2 つの赤い点は .attr() と .prop() の違いになります。

そこで、上記のクリックイベントメソッドのコードを次のように変更します。

コードをコピー コードは次のとおりです:
$("input[name='sex ']: 最初").prop("チェック済み",true);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。