1

HTML:

<div>
    <div class="t-dropzone">
        <input id="files" >
    </div>
    <ul></ul>
</div>

jQuery

$('#files').parents('.t-dropzone:first + ul')

の場合は要素をjquery-1.5.1.min.js返しますが、 を返します。uljquery-1.7.2.min.jsnull

エラーが含まれているライブラリはどれですか?

4

2 に答える 2

2

そのステートメントは空のjQueryオブジェクトを返す必要があります。#filesに一致する祖先を探している.t-dropzone:first + ulので、祖先はul要素である必要がありますが、その要素はありません。

もう少し詳しく説明すると、そのセレクターはul最初の要素の直後に続く要素を見つけます.t-dropzone。最初の.t-dropzone要素はの祖先であり#files、直後に。が続きますが、これululの親ではない#filesため、返さないでください。

したがって、あなたの質問に答えるために、jQuery 1.5.1(およびそれ以下)にはエラーが含まれており、jQuery 1.7.1で修正されました(jsfiddle.netでjQueryのバージョンを変更することでわかる限り)。

于 2012-05-28T10:15:37.357 に答える
0

そのようには機能しません。div最初のものを選択してから、そのul兄弟を取得する必要があります。

$('#files').closest('.t-dropzone').next('ul')

理由の詳細な説明については、ジェームズの回答を参照してください。

于 2012-05-28T10:19:04.600 に答える