我想在一个span标签中包装一个Backbone / Marionette CollectionView,这样我就可以为SELECT元素设置样式。
当我尝试:
ProductOptionsView: Marionette.CollectionView.extend({
tagName: 'select',
className: 'prod-options',
itemView: self.views.ProductOptionsItemView,
onRender: function() {
var $option = $('<option data-price="' + self.currentBasePrice + '" value="-1">Select an option</option>');
this.$el.attr('id', 'options-select');
this.$el.wrapAll('<span class="sold" /');
<snip~>
对wrapAll()的调用并没有发生。如果我可以直接将所有样式应用于选择标记,我会,但不支持。我无法在Marionette或Backbone文档中找到任何内容,以显示如何修改从视图中实际输出的HTML。
或者,如果可以将标记名设置为&#39; span&#39;然后用它下面的选项构建一个选择,我可能会这样做。
答案 0 :(得分:2)
尝试onShow
,因为在将onRender
视图添加到DOM之前调用el
。
view.el
被附加到DOM,因此将其包装在onRender
中实际上不会做任何事情。