<form>
過去1日半の間、jQueryがHTML内の要素を見つけることができないというこの問題がありました。HTML をバリデーターで何度も実行し、JS と CSS を検証し、不要な JS と CSS ファイルを削除しました。これは次のようになりました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css" />
</head>
<body>
<form>
<input type="textbox" name="action" value="view"></input>
<button>Test</button>
</form>
</body>
</html>
HTML を必要最小限に縮小した後、jQuery が<form>
を使用して要素を 簡単に取得できるかどうかを確認し$('form')
ました。まあ、jQuery は何も返しませんでした。それは完全にがっかりしました。jQuery オブジェクトでさえ、何も返しませんでした。それで、再び私は狂気を続け、HTMLなどを検証しましたが、まだ何もありません!
HTML をもう一度書き直しましたが、まったく同じではありませんでしたが、うまくいきました。そこで、2 つのファイルを diff し、元のファイルを微調整して、作成したばかりの新しいファイルと徐々に同一になるようにしました。name
さて、属性の値がすべてを台無しにしていた原因であることが判明しました! 値を許可されたもの以外に変更するだけで、action
jQuery は最終的に<form>
要素を取得できます! 本当?!!@#%$!@#!!!
だから私の質問は次のとおりです: jQueryのキーワードですかaction
、属性の値はどのようにすべてを台無しにしますか?
それがキーワードであり、その理由を説明したくない場合は、これに関するドキュメントを参照してください。これを読んだ後で頭を悩ませることができます。属性の値によって問題が発生するというのは、やはり奇妙に思えますが、それはおそらく、私が jQuery の実装について無知であるためです。=)