2014-11-23 5 views
0

У меня есть этот HTML:JQuery Append() только после того, как элемент,

<div id="idtest"> 
<h4>click me test</h4> 
</div> 
<ul id="collapse-PerfilManage" class="collapse"> 
    <li><a class="privateMenuLinkJS "><i class="fa fa-lock"></i> elm1</a></li> 
    <li><a class="privateMenuLinkJS inativeLinkCODE"><i class="fa fa-lock"></i> elm2</a></li> 
    <li><a class="privateMenuLinkJS "><i class="fa fa-lock"></i> elm3</a></li> 
    <li><a class="privateMenuLinkJS "><i class="fa fa-lock"></i> elm4</a></li> 
</ul> 

Я хочу добавить что-то внутри «ли», что есть «а» элемент с классом «inativeLinkCODE».

Для этого у меня есть этот Jquery код:

$(document).on("click ", "#idtest", function() { 
    $("a").each(function() { 
     if ($(this).hasClass("inativeLinkCODE")) {    
      $(this).parent().append("<span>New</span>"); 
     } 
    });  
}); 

Результатом этого кода является:

<li><a>elm2</a><span>New</span></li> 

Я хотел бы иметь, как это:

<li><span>New</span><a>elm2</a></li> 

Просто после тега "li". Любая идея, как это сделать? Я пробовал append() и после() и не работал.

Здесь у вас есть скрипка. http://jsfiddle.net/a7ww6xyL/

Это решение не подходит к моей ситуации jQuery - add element after text jQuery: Add element after another element

ответ

0

вы должны использовать вместо перед именем. prepend поставить перед родительским элементом, а append put после родительского элемента.

$(document).on("click ", "#idtest", function() { 
    $("a").each(function() { 
     if ($(this).hasClass("inativeLinkCODE")) {    
      $(this).parent().prepend("<span>New</span>"); 
     } 
    });  
}); 
0

вы как раз делаете как этот.

$(document).on("click ", "#idtest", function() { 
    $("a").each(function() { 
     if ($(this).hasClass("inativeLinkCODE")) {    
      $(this).parent().prepend("<span>New</span>"); 
     } 
    });  
}); 
Смежные вопросы