0

jQuery は、スクリプト内で非常に奇妙な動作をしています。基本的に、jquery を使用して DOM を更新した後、ID を使用して DOM に挿入されたファイル入力の値を取得しようとしています。しかし、ファイル要素に直接アクセスしようとすると、空の文字列が返されます。ただし、親 div から開始してファイルにアクセスしようとすると、正しい値が得られます。残念ながら、直接アクセスする必要があります:

alert($("#input_id").val()); //returns empty string
alert($("#div_id > #input_id").val()); //returns correct value.
4

3 に答える 3

0

ほとんどの場合、二重IDを持っている可能性があります。私のフィドルをチェックして、各関数について前に言ったことは、重複IDがないことを証明しないことを確認してください。重複を見つける最良の方法は、Linuxのようなシステムを使用している場合は、検索を実行するか、grepを実行することです。

find . | xargs grep "input_id"

http://jsfiddle.net/8X2Xq/1/

于 2012-08-18T08:17:28.553 に答える
0

ドキュメント内に重複する ID がある場合は、ID を一意にするようにしてください。jQuery のドキュメントにあるように、複数の要素に同じ ID が割り当てられている場合、その ID を使用するクエリは、DOM で最初に一致した要素のみを選択します。

于 2012-08-18T07:48:11.353 に答える
-1

Pablo Karlssonが示唆したように、同じ ID を持つ複数の要素が存在する可能性があるため、jquery は ID を使用して要素の値を識別できませんでした。

要素の値に直接アクセスすることを計画している場合、jquery でクラス名固有のセレクターを使用できないのはなぜですか (クラス名が入力要素に適用されている場合)。

于 2012-08-18T07:55:37.693 に答える