gpt4 book ai didi

jquery - 为什么当我在backbone.js中渲染 View 时会渲染额外的div

转载 作者:行者123 更新时间:2023-11-30 23:58:07 24 4
gpt4 key购买 nike

为什么当我在backbone.js中重新渲染 View 时会渲染额外的div

Backbone.View.extend({
template :_.template(
'<li id="user-<%=user.username%>" class="pp-entry group">'+
'<img src="i/pp-pic-1.png" class="pp-pic" alt="" />'+
'<span class="whisper-mode-on hide" title="Whisper mode on"></span>'+
'<h6 class="pp-name"><%=user.firstname%>&nbsp; <%if(user.lastname!="null"){%><%=user.lastname%><%}%></h6>'+
'<p id="chat-<%=user.username%>"class="pp-msg"></p>'+
'</li>'),
initialize: function() {
_.bindAll(this, 'render', 'close');
this.model.bind('change', this.render);
this.model.view = this;
},
// Re-render the contents of the User item.
render: function() {
$(this.el).html(this.template(this.model.toJSON()));

$("#participant-window").prepend(this.el);
}
});

当它获取时,它的渲染如下:

<ul id="participant-window" class="scroll-pane" style="overflow: hidden; padding: 0px; width: 357px;">
<div>
<li id="user-ashutosh" class="pp-entry group" style="cursor: default;">
<img class="pp-pic" alt="" src="i/pp-pic-1.png">
<span class="whisper-mode-on hide" title="Whisper mode on"></span>
<h6 class="pp-name">Ashutosh&nbsp; </h6>
<p id="chat-ashutosh" class="pp-msg"></p>
</li>
</div>
</ul>

为什么 li 被插入到 div 中我应该如何阻止这个?

最佳答案

在这一行中:

$(this.el).html(this.template(this.model.toJSON()));

...您将 this.el 的内容设置为模板输出。如果 el 成员变量已经初始化为现有 div 元素,那么您只需更改其内容,然后附加到 #participant-window.

也许可以尝试:

this.el = $(this.template(this.model.toJSON())));

关于jquery - 为什么当我在backbone.js中渲染 View 时会渲染额外的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6477491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com