2014-11-23 60 views
0

我有这个网站:的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()和after()之后没有工作。

在这里你有小提琴。 http://jsfiddle.net/a7ww6xyL/

这些解决方案不适合我的情况 jQuery - add element after text jQuery: Add element after another element

回答

0

你应该使用前置代替。 prepend放在父元素前面,而append放在父元素后面。

$(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>"); 
     } 
    });  
}); 
相关问题