5
我希望能夠從一個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)
@
現在只有一個DOM插入和代碼看起來更清晰的給我。
謝謝馬特,這很清楚。我沒有想到這個關於後代和兄弟姐妹的微妙之處,我感到很愚蠢。以下是我重構代碼的方式:https://gist.github.com/2585965。 –