我不知道如何調用它,但讓我稱之爲半內部文本。如何替換HTML標籤的文本
例
<div id='myDiv'>
This is the semi-inner text
<div id='other'></div>
This is the semi-inner text
<div>
我想刪除/替換這些This is the semi-inner text
使用jquery。
我該怎麼做?
我不知道如何調用它,但讓我稱之爲半內部文本。如何替換HTML標籤的文本
例
<div id='myDiv'>
This is the semi-inner text
<div id='other'></div>
This is the semi-inner text
<div>
我想刪除/替換這些This is the semi-inner text
使用jquery。
我該怎麼做?
如果你只關心子節點...
$('#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
)時進行函數遞歸。
使用內容(),並過濾掉所有的nodeType等於3並刪除它們:
$('#myDiv').contents().filter(function() {
return this.nodeType == 3;
}).remove();
使用下面的代碼替換內容
$("#other").html("your code");
和用戶包裝你的代碼帶標識的跨度標籤
最簡單的方法是將其放置在一個帶有如下標識的跨度中:
<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");
$('#myDiv')
.contents()
.filter(function() {
return this.nodeType == 3;
})
.each(function() {
$(this).remove();
});
你也可以做這樣的:
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)
);
});
包裝它裏面用JS – Bongs
你裏面'的'和替換文本應該用span,div,p或者什麼來包裝它。如果某些文本未被封裝,它不是一個有效的HTML頁面。 – benck