2011-09-27 31 views
2

我用一組選定的元素:替換所有選定的內容與HTML jQuery的

$(selector).nextUntil('tr.some_class'); 

而且我希望能夠與新的HTML更換整個內容。

jQuery有replaceWith和replaceAll方法,它將用選定的html替換每個元素,但我並不試圖將html插入到每個元素中,我試圖對HTML進行大量替換。

回答

2

如何:

$(selector).nextUntil('tr.some_class').remove().append("<blah>"); 

UPDATE

假設你想同時得到selectortr.some_class的TR保持(nextUntil的行爲)和selector標識單行,你可以這樣做像這樣:

$("tr#id1").nextUntil('tr.some_class').remove(); 
$("tr#id1").after("<tr><td>g</td><td>g1</td></tr>"); 

http://jsfiddle.net/6WTNr/4/

+0

我喜歡jQuery的鏈接方法,但有時候能夠在單次調用中替換元素的內容更好。我不確定調用.remove()。append()比調用.html()更快,但我懷疑它可能會。 – tjarratt

+0

remove()。append()也不適用於我。它正確地刪除了內容,但將內容追加到表格行的下方,而不是完全相同的位置。 –

+0

是的,我正在看它。 – BNL

1
var your_markup = "<div>hello world</div>"; 
$(selector).nextUntil('tr.some_class').html(your_markup); 
+0

這與replaceWith非常相似,它替換nextUntil中每個匹配元素的HTML,而不是替換整個HTML。 –