2

我有一个这样的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)时,我想将一个 li 标签附加到特定单击 div 之前的 ul 标签中。

我有这样的指令,我试过了,但它不起作用

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

      });
   }

});

如何将 li 标签附加到作为 div 的子级的 ul 中?

4

2 回答 2

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;
}
于 2013-11-08T14:03:26.717 回答
0

由于错误的元素选择器,您的代码不起作用。.children只搜索第一级子元素,所以基本上<div class="submain">没有子元素<ul>。您可以改用.find('ul')它,它会向下搜索整棵树

于 2013-11-09T11:13:07.130 回答