Javascript / jQuery选择嵌套行中的第一个锚子项

时间:2016-11-04 09:02:28

标签: javascript jquery dom

我有这段代码:

<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>

我想在javascript中附加&#34; +&#34; char就在&#34; HERE&#34;文本。我还想在span元素中添加它。

我尝试$('.open-submenu a:first').append("<span class='open-submenu-sym'>+</span>");,但这只影响第一个open-submenu;

我也试过了$('.open-submenu').append("<span class='open-submenu-sym'>+</span>");,但这会影响所有的锚点,甚至是嵌套的锚点。

如何仅在两个open-submenu的锚点内附加范围?

2 个答案:

答案 0 :(得分:4)

您正在寻找var arr = ["John", "Jimmy", "John"]; var dArr = []; //Date array while (dArr.length < 10000) { //Load a lot of pseudo dates dArr.push( new Date().getTime() + Math.round(Math.random() * 10) ); } function arrayUnique(arr) { return arr.reduce(function(previousValue, currentValue) { if (previousValue.some(function(value, index) { return value === currentValue; }) === false) { previousValue.push(currentValue); } return previousValue; }, []); } console.log(arrayUnique(arr)); console.log(arrayUnique(dArr).sort());这是类子菜单的直接子项 - a

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

答案 1 :(得分:1)

您可以这样做,只需定位课程a内的.open-submenu

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

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