我不知道如何调用它,但让我称之为半内部文本。
实施例
<div id='myDiv'>
This is the semi-inner text
<div id='other'></div>
This is the semi-inner text
<div>
我想使用jquery删除/替换This is the semi-inner text
。
我该怎么做?
答案 0 :(得分:3)
如果您只关心子节点......
$('#myDiv').contents().filter(function() {
return this.nodeType == 3
}).each(function() {
this.data = this.data.replace(/This is the semi-inner text/g, 'swapped');
});
如果要检查所有后代节点,请在检测到元素节点(this.nodeType == 1
)时使该函数递归。
答案 1 :(得分:2)
$('#myDiv')
.contents()
.filter(function() {
return this.nodeType == 3;
})
.each(function() {
$(this).remove();
});
答案 2 :(得分:1)
使用contents()并过滤掉所有等于3的nodeType并删除它们:
$('#myDiv').contents().filter(function() {
return this.nodeType == 3;
}).remove();
答案 3 :(得分:0)
使用以下代码替换内容
$("#other").html("your code");
并且用户将代码包装在带有id
的span标记中答案 4 :(得分:0)
最简单的方法是将其放在ID如此的范围内:
<div id='myDiv'>
<span id="myInnerText">This is the semi-inner text</span>
<div id='other'></div>
This is the semi-inner text
<div>
然后将其替换为:
$("#myInnerText").text("replacement text");
答案 5 :(得分:0)
target_div = $("#myDiv")
reg_exp = /This is the semi-inner text/g;
new_text = "some other text"
target_div.html(
target_div.html()
.replace(
new RegExp(reg_exp),
new_text)
);
});