作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下模板:
<div class="row">
<div></div>
....
</div>
以及以下 View :
var TestView = Backbone.View.extend({
tagName: "div",
template: $("#tests_template"),
initialize: function () {
_.bindAll(this, 'clickbtn');
},
events:
{
"click .btn": "clickbtn"
},
render: function () {
....
{
});
问题是,它产生以下输出:
<div><div class="row">...</div></div>
如何去掉外部的div?我尝试从 View 中删除 tagName 属性,但它仍然放置一个 div?
最佳答案
更改模板以去掉外部 div:
<div></div>
....
然后,告诉 View 创建带有类名的 div:
tagName: "div",
className: "row"
或者如果您想保留当前模板,则告诉 View 要使用哪个el
(假设它已经存在于您页面上的某个位置):
var testView = new TestView({el: $(".row")});
编辑您询问是否可以在初始化程序中执行此操作?当然可以,但您需要确保 Hook 事件:
initialize: function () {
this.el = $(".row");
this.delegateEvents();
_.bindAll(this, 'clickbtn');
}
老实说,在我看来,前两个选项更加解耦。
关于jquery - 主干js : How to remove extra tag in view?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7663895/
我是一名优秀的程序员,十分优秀!