2016-11-04 7 views
1

私はこのコードを持っている:Javascriptを/ jQueryのネストされた行の最初のアンカー子を選択

<ul> 
    <li class="open-submenu"><a href="javascript:void(0)">HERE</a>    
    <ul class="submenu"> 
     <li><a href=#></a></li> 
     <li><a href=#></a></li> 
     <li><a href=#></a></li> 
    </ul> 
    </li> 
    <li class="open-submenu"><a href="javascript:void(0)">HERE</a>    
    <ul class="submenu"> 
     <li><a href=#></a></li> 
     <li><a href=#></a></li> 
     <li><a href=#></a></li> 
    </ul> 
    </li>    
</ul> 

私はちょうど次の「HERE」のテキストには、JavaScriptで、「+」文字を追加します。私はspan要素の中にそれを追加したい。

私は$('.open-submenu a:first').append("<span class='open-submenu-sym'>+</span>");を試しましたが、これは最初のopen-submenuにのみ影響します。

私も$('.open-submenu').append("<span class='open-submenu-sym'>+</span>");を試しましたが、これはすべてのアンカー、ネストされたアンカーにも影響します。

2つのopen-submenuのアンカーの内側にのみスパンを追加するにはどうすればよいですか?

答えて

1

あなたはこのようにそれをすることによって、クラス.open-submenu内部aをターゲットにすることができます。

https://jsfiddle.net/estvwpvz/6/

$('.open-submenu > a').append("<span class='open-submenu-sym'>+</span>"); 
+0

これはさらに短くなったからです!ありがとうございました –

+0

おかげで助けてくれてありがとう –

4

あなたはクラスのサブメニューの直接の子であるaを探しています - .open-submenu > a

$('.open-submenu > a').append("<span class='open-submenu-sym'>+</span>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li class="open-submenu"><a href="javascript:void(0)">HERE</a>    
 
    <ul class="submenu"> 
 
     <li><a href=#></a></li> 
 
     <li><a href=#></a></li> 
 
     <li><a href=#></a></li> 
 
    </ul> 
 
    </li> 
 
    <li class="open-submenu"><a href="javascript:void(0)">HERE</a>    
 
    <ul class="submenu"> 
 
     <li><a href=#></a></li> 
 
     <li><a href=#></a></li> 
 
     <li><a href=#></a></li> 
 
    </ul> 
 
    </li>    
 
</ul>

+0

それは働きます!ありがとうございました:) –

+0

'$( '。open-submenu> a')' – mplungjan

+0

@mplungjan - 本当にあります。私は少し過熱していました:) –

関連する問題