假设我的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