2009-09-02 6 views
0

私はセレクタの一部として両方の要素のid属性を使用して順序付けられていないリストからliアイテムを取得したいと思います。ulとliのIDを使用して順序付けられていないリストからliを選択する

これは私がそれをULのCSSクラスを使用して働かせた方法の例です:

var listItem = $('ul.selectedItems li#' + opt.list[i].ID); 

私は運で、次のアプローチを使用しようとしました:

var listItem = $("#" + opt.name).childs.find("#" + opt.list[i].ID) 

答えて

1

次のことができるようにすべきです

var listItem = $('#' + opt.name + ' > li#' + opt.list[i].ID); 

CHILあるli要素を選択する必要があります。このような何かを行います最初のドレン。

jQuery Selectors: Parent/Childのマニュアルを参照してください。

+0

私は運が無ければそのようにしましたが、$( '#' + opt.name + '> li [id $ =' + opt.list [i] .ID + ']')ありがとうございました! –

4

IDを使用しているときに複雑なセレクタ/ルックアップを行う必要はありません。 要素IDは、文書全体全体で一意である必要があり、その要素を見つけることがあるような単純な

var listItem = $("#" + opt.list[i].ID); 

それは私が彼らがユニークであるように、あなたのIDを固定ではなくて、問題を回避作業することをお勧め動作しない場合不必要に複雑なCSSセレクタ。

+0

+1 - 「Element IDは一意でなければならない」と太字にしたい場合は+2を与えようと思います。 – kdgregory

+0

他人のコードで作業しない完璧な世界では、あなたは正しいです。しかし、私は順序付けられていないリストを使用してサーバー側のコンボボックスをエミュレートするコードに取り組んでいます。リスト要素はデータソースから動的に生成されるため、2つのサーバーコントロールが同じデータソースを持つ場合、ul出力は常に同じになります。 私はulのIDを制御できますが、その要素からのIDは制御できません。選択は独立した制御でなければならないので、私はこの複合セレクタを使用できる必要があります。 –

関連する問題