Я работаю с backbone.js и имею следующие listView
для элемента <ul>
и отдельный tabView
для динамического <li>
. В методе рендеринга listView
я создаю новый tabView
и добавляю, что el
- listView
el
.Добавление динамической вкладки бутстрапа перед существующей вкладкой «добавление»
var listView = Backbone.View.extend({
//<ul> element for tabs
el: '.nav-tabs',
render: function(model) {
var tabView = new TabView({ model: model });
tabView.render();
$(this.el).append(tabView.el);
}
var TabView = Backbone.View.extend({
//create <li> element to hold each tab
tagName: "li",
className: "currentTab ",
render() {
var html = this.template(this.model.attributes);
$(this.el).append(html);
//creates new div for tab content
var tabContent = new TabContentView({ model: this.model });
tabContent.render();
}
Это нормально и работает, как ожидалось.
Чтобы добавить новую вкладку динамически, у меня есть один элемент li
в начале, поэтому, когда пользователь нажимает на этот пункт li
, происходит только создание новых вкладок.
Теперь мне нужно добавить новую вкладку до li
+. В настоящее время все новые вкладки добавляются только после +.
Ниже приведено описание html метки <ul>
.
<div id="test">
<ul class="nav nav-tabs ">
<li><a href="#" class="add-newTab">+</a></li>
</ul>
</div>
Я пробовал изменения listView
метод отрисовки, как показано ниже, но это не работает. Скорее всего, она добавляет новую вкладку поверх (+) li
самого элемента.
tabView.render();
$(this.el).find(".add-newTab").before(tabView.el);
Любая идея, как это можно сделать?