0

今日、ユーザーがjQueryを使用してトリガーされたイベントでコンテナー内のすべてのフォーム要素を無効にしたいという質問に出くわしました。

私の答えの一部として、コンテナを選択してフォーム要素を見つけてから、それぞれを.each().

全体として、セレクターは次のようになりました。

$('.container').find('input, textarea, button, select');

find()ちょっと長いなと思ったのですが、HTMLの仕様通りに属性をとった要素はこれくらいしか思いつきませんでした(disabled他にもあれば教えてください)。今私の質問に。

DOM 要素のグループ (おそらく jQuery によって返されますが、vanilla JSも機能します) を繰り返し処理し、現在の要素が HTML 仕様に従って有効な属性を取得できるかどうかを判断する方法はありますか? IE要素のグループがあり、反復の1つで要素を取得しstrongます。disabled要素に対して何もしないstrongので、それをスキップして、機能するinput要素に移動しdisabledます。

4

1 に答える 1

2

いいえ。ブラウザーは、どの要素/属性が有効かを判断するための API を提供していません。それらは多くのエラー回復機能も提供するため、属性を持つ要素を作成してそれらに何が起こるかを確認することによるテストは信頼できません。

仕様と比較する必要があります。

HTML 4 と XHTML 1.x には、パーサーを作成できる DTD があります。

于 2013-05-20T13:48:53.397 に答える