我有这个HTML:
<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>
我想在“li”中附加一些内容,其中“a”元素带有“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 :(得分:0)
您是否尝试过前置,这可能会解决您的问题? http://api.jquery.com/prepend/ 只需更改此行:
$(this).parent().append("<span>New</span>");
到这个
$(this).parent().prepend("<span>New</span>");
答案 1 :(得分:0)
你应该使用prepend代替。 pre在父元素之前放置,而在父元素之后追加put。
$(document).on("click ", "#idtest", function() {
$("a").each(function() {
if ($(this).hasClass("inativeLinkCODE")) {
$(this).parent().prepend("<span>New</span>");
}
});
});
答案 2 :(得分:0)
你就是这么做的。
$(document).on("click ", "#idtest", function() {
$("a").each(function() {
if ($(this).hasClass("inativeLinkCODE")) {
$(this).parent().prepend("<span>New</span>");
}
});
});