嗨,我有一个无序元素列表。单击时,我想<p>
在拆分<ul>
2 时插入一个元素。
问题在于$("</ul>"+text+"<ul class=\"test\">").insertAfter(element);
似乎将<p>
元素与<ul>
元素分开,先插入<p>
然后再插入<ul>
标签。
我还想立即删除元素<ul>
之前和之后的打开和关闭,以便我可以在不同的位置拆分。这是我能找到的唯一方法,但它只删除了元素:.temp
<ul>
<p>
$('.temp').remove();
页面开始时的格式化方式正是我所追求的。JS有点坏了。 http://jsfiddle.net/yU65g/1/
JS:
$(".test li").click(function () {
var text = "<p class=\"temp\">Test</p>";
var index = $(".test li").index(this);
$("span").text("That was div index #" + index);
var element = $('.test li').get(index);
$('.temp').remove();
$("</ul>"+text+"<ul class=\"test\">").insertAfter(element);
});
HTML:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<span>Click a div!</span>
<ul class="test">
<li>First div</li>
<li>Second div</li>
<li>Third div</li>
</ul>
<p class="temp">Test</p>
<ul class="test">
<li>Fourth div</li>
<li>Fith div</li>
<li>Sixth div</li>
</ul>
</body>
</html>
CSS:
.test li { background:yellow; margin:5px; }
span { color:red; }
.test {border: solid 1px red; clear:both; margin: 1em;}
.temp {clear:both;}