2012-11-16 33 views
0

我有一些嵌套列表,我希望能夠插入一級別的元素:jQuery的插入HTML字符串,而不是DOM節點

<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>"... 

但後()方法只允許插入DOM節點,所以所有關閉的標籤「」被忽略。 有沒有一種方法可以將字符串恰好注入到我想要的位置?

在此先感謝您的幫助

+0

我不明白你的問題,你可以粘貼你想要你的html結果嗎? –

回答

0

我看你現在需要的,但DOM操作只能發生給DOM節點,或可轉換爲DOM節點有效的標記。你可以做的是這樣的,雖然這是一個非常hacky的解決方案:

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); 
+0

是的,我自己也在想這件事,這很不好意思,但如果這是我們的全部,那麼它不是那種黑客,而是正確的答案...... – user997593

1

你在找這樣的嗎?

$('.selecteditem').append('<li>Item 1.4</li>');​ 

如果您使用.append()您將html插入到保留html的某個元素中。

Example Fiddle

相關問題