この HTML を考えると:
<p htmlfor="afield">This field is required.</p>
この jQuery セレクターは p タグを見つけます。
var filtered = $("*").filter("[for='afield']");
これはしませんが:
$("p").filter("[for='afield']");
なぜ最初のものは一致するのですか?HTML の属性は「htmlfor」で、セレクターの属性は「for」です。
そして、なぜ 2 つ目は一致しないのでしょうか。
ここにフィドルがあります(アラート付き、申し訳ありません...)。
コメントから、私が気にかけている理由を説明する編集:
jquery-validate プラグインを使用しています。[for='afield']
はプラグイン コードが使用する構文であり、HTML を生成するプラグインでもあります。自分のサイトのバグを修正できるように、何が起こっているのかを理解しようとしています。