twitter bootstrap动态添加下拉列表

时间:2013-06-25 15:47:37

标签: javascript twitter-bootstrap drop-down-menu

我正在实施用户通知系统。加载页面时会发出一个AJAX请求,如果存在通知,它们将被呈现为隐藏的<ul>,但是如果单击了通知项则应该显示。

我的页面上有一些使用Bootstrap的工作下拉菜单,所以这不是问题。

元素的加载和创建工作正常。如果我用Firebug检查它们会出现在DOM中。

// this is in the top bar
<a id="notifications" href="/user/profile/notifications" data-toggle="notifications-alert">Benachrichtigungen</a>

// and this appended to the end of body
<ul id="notifications-alert" class="notifications dropdown-menu" style="display: none;">
    <li class="event_new">[..]</li>
    <li class="event_new">[..]</li>
</ul>

当我追加设置data-toggle属性时,我也初始化了dropdown()。像这样:

$notifications.addAttr('data.toggle', 'notifications-alert')
              .dropdown();

我也试过手动扳机,但仍然做了工作。

$notifications.addAttr('data.toggle', 'notifications-alert')
              .click(function(e) { e.preventDefault(); $(this).dropdown('toggle'); })
              .dropdown();

为什么它不起作用的任何想法?

@EDIT:我的错,解决了。有关详细信息,请参阅我的回答。

1 个答案:

答案 0 :(得分:1)

twitter bootstrap中的所有示例都显示链接[tag a]和dropdown [tag ul]以及同一个父级。也许简单的解决方案是你应该在 a 之后添加 ul ,而不是在正文末尾添加 ul {{1} }