如何将li标签附加到angularjs中的ul?

时间:2013-11-08 12:22:48

标签: javascript jquery css angularjs

我有一个像这样的HTML

  <div>
       <div class="submain">
           <div><ul><ul><div>
           <div g-directive>click</div>
       </div>
       <div class="submain">
           <div><ul><ul><div>
           <div g-directive>click</div>
       </div>
       <div class="submain">
           <div><ul><ul><div>
           <div ng-directive>click</div>
       </div>
  <div>

当我点击特定的div(点击div)时,我想在特定点击的div之前将一个li标签附加到ul标签中。

我有这样的指示,我试过这个,但它没有用

app.directive('ngDirective',function()
{
   return function(scope,element,attrs)
   {
      element.bind('click',function()
      {
          element.prev().children('ul').append('<li></li>');

      });
   }

});

如何将li标签附加到div的子节点?

2 个答案:

答案 0 :(得分:1)

只是你可以做的一个粗略的例子:

HTML

<div>
   <div class="submain">
       <div><ul>
         <li ng-show="showLI">{{content}}</li>
       <ul><div>
       <div ng-click="toggleLI()">click</div>
   </div>
<div>

JS

$scope.showLI = false;
$scope.toggleLI = function() {
    $scope.showLI = !$scope.showLI;
}

答案 1 :(得分:0)

由于错误的元素选择器,您的代码无效。 .children仅搜索第一级子元素,因此基本上<div class="submain">没有子元素<ul>。您可以使用.find('ul')代替向下搜索整个树