我有一些嵌套列表,我希望能够插入上一级元素:
<ul>
<li>Item 1
<ul>
<li class="selecteditem">Item 1.1</li>
<li>Item 1.2</li>
<li>Item 1.3</li>
</ul>
</li>
<li>Item 2</li>
</ul>
<!-- language: lang-js -->
//I try to do it as follows:
$('li.selecteditem').after('</ul></li><ul>"...
但是after()方法只允许插入DOM节点,因此忽略所有关闭的标记“”。 有没有办法将这个html字符串完全按照我想要的方式注入?
提前感谢您的帮助
答案 0 :(得分:1)
你在找这样的东西吗?
$('.selecteditem').append('<li>Item 1.4</li>');
如果您使用.append()
,则将html插入某个元素,并将html保留在其中。
答案 1 :(得分:0)
我现在看到你需要什么,但DOM操作只能在给定DOM节点或可转换为DOM节点的有效标记时发生。你能做的就是这样,虽然这是一个非常糟糕的解决方案:
var html = $('ul').html().replace('<li class="selecteditem">Item 1.1</li>','<li class="selecteditem">Item 1.1</li></ul></li><ul>...');
$('ul').html(html);