假設我的HTML看起來我的HTML看起來像這樣JQuery的 - 除去中間元素
<p>
"a"
"c"
</p>
這樣
<p>a<span>b</span>c</p>
後
$("span").remove();
我怎麼合併這兩個部分後合併在一起,所以我的HTML看起來像<p>ac</p>
?
假設我的HTML看起來我的HTML看起來像這樣JQuery的 - 除去中間元素
<p>
"a"
"c"
</p>
這樣
<p>a<span>b</span>c</p>
後
$("span").remove();
我怎麼合併這兩個部分後合併在一起,所以我的HTML看起來像<p>ac</p>
?
這裏是一個,它不僅影響文本節點連接的任何兩個連續的。
$("span").click(function() {
var parent = this.parentNode;
$(this).remove();
normalize(parent);
});
function normalize(element){
var contents = $(element).contents();
contents.each(function(i){console.log(this.nodeType);
if (this.nodeType == 3 && i > 0){
var prev = contents[i-1];
if (prev.nodeType == 3){
this.nodeValue += prev.nodeValue;
prev.parentNode.removeChild(prev);
}
}
});
}
var p = $('p'),
p2 = p.clone(true);
p2.find('span').remove();
p2.text(p2.text());
p.parent().empty().append(p2);
保持綁定!
我知道這是老了,但是這是Node.normalize
是:
$('p').get(0).normalize()
的Node.normalize()方法把指定的節點及其所有子樹變成了「標準化」形成。在標準化的子樹中,子樹中的文本節點都是空的,並且沒有相鄰的文本節點。
你爲什麼如此迷戀上了嗎? – Alexander
稱之爲強迫症和好奇:) – Gal
的組合,我會給出最好的答案永遠 - >'$(P)的.html(「交流」);' – adeneo