HTMLの文字列からjQueryオブジェクトを作成し、直接内部を検索したいと考えています。HTMLの文字列から構築されたjQueryオブジェクトの要素を見つける
例:
htmlString = '<h3>Foo</h3><div class="groups"></div>'
$html = $(htmlString)
$groups = $html.find('.groups') // Returns []. WTF?
私はfind
が実際にdiv
要素を見つけることを期待します。
あなたは私の質問の文脈についての詳細をお知りになりたい場合は、私がバックボーンのアプリを開発し、私はそのようなものを持っている特定のビューをレンダリングする:
render: ->
$html = $(@template(vehicle: @vehicle))
$groups = $()
_(@groups).each (group)=>
subview = new App.Views.AttributesGroup(group: group, vehicle: @vehicle)
$groups = $groups.add(subview.render().el)
$(@el).html($html)
$(@el).find('.groups').replaceWith($groups)
@
私はよりエレガントな方法を探しています同じ結果を達成する。
ありがとうございます!
ありがとうございました。これは非常に明確です。私は子孫についてのこの微妙なことを考えなかったために愚かな気がする。
render: ->
$html = $(@template(vehicle: @vehicle))
$groups = $html.filter('.groups')
_(@groups).each (group)=>
subview = new App.Views.AttributesGroup(group: group, vehicle: @vehicle)
$groups.append(subview.render().el)
$(@el).html($html)
@
は今だけ1 DOM挿入があり、コードは私に明確になります。
だから私は私のコードをリファクタリング。
ありがとうマット、それは非常に明確です。私は子孫についてのこの微妙なことを考えなかったために愚かな気がする。コードをリファクタリングする方法は次のとおりです:https://gist.github.com/2585965。 –