Chrome 63から、次のエラーがスローされます。
[DOM]一意でないID #aを持つ2つの要素が見つかりました:(詳細: https://goo.gl/9p2vKq )
https://jsfiddle.net/arnabgh/jz186qxe/
<input type="password">
<input id="a">
<input id="a">
Chrome 63から始まる入力タイプのパスワードが使用されている場合、特別な検証が行われていますか?
はいあります;そのため、そのメッセージが表示されます。しかし、それはあなたが本当に求めていることではないと思います。
質問がwhy Chromeがこのメッセージの表示を開始した場合、パスワード付きフォームは機密情報(つまりパスワード)を送信する傾向があるため、パスワードで保護されたフォームは、開発者にすぐに注意を喚起する必要があります。
エラーメッセージがリンクしているドキュメント(質問で確認していないので読んだとは思いません)には、標準に準拠したHTMLの記述に関するサブセクションがあり、一意のIDルールが再記述されています:
HTMLガイドラインに従う
WebブラウザーはHTML仕様を念頭に置いて設計されており、それに反すると、Webページで予期しない問題が発生する可能性があります。これの意味は:
要素
id
属性は一意である必要があります。2つの要素が同じid
を持つことはできません。
(なぜこのルールが唯一の推測であるのか、将来、さらに追加するつもりであることは確かに見えますが、この1つのルールだけでドキュメントを作成し、それを良いと呼ぶのは依然として奇妙です。)
このメッセージを無効にする方法はないように見えますが、重複IDが持つ方法を超えてページが機能するのを防ぐことはできないため(そして、どちらもしない)、非-一意のIDを自分で無視するのは安全です。
id='a'
の代わりにclass='a'
を一意の名前で使用し、.a inで使用するか、id='a'
などの他のフィールドIDとid='b'
などの他のフィールドと異なる一意のIDを使用できます。 。
の代わりに [id]
を使用してみてください[attr.id]
これが役に立てば幸いです。