0
如何替換相同索引處的文本。本文可能有相同的模式。假設我想在下一個文本中替換粗體「是」。如何用JavaScript替換同一索引處的文本?
「薩姆是一個男孩和多莉是他的妹妹,但約翰是他的父親,他不是醫生。」
當我使用下面的代碼時,它將替換斜體「is」的第一個模式!
function getSelectedHTMLText() {
if (window.getSelection) { // all browsers, except IE before version 9 contents
var range = window.getSelection();
var container = document.createElement("div");
for (var i = 0, len = range.rangeCount; i < len; ++i) {
container.appendChild(range.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
return html;
}
else {
if (document.selection.createRange) { // Internet Explorer
var range = document.selection.createRange();
html = range.htmlText;
return html;
}
}
}
var txt = "Sam is a boy and Dory is his sister, but John <b>is</b> his father. He isn't a doctor.";
var htmlText = getSelectedHTMLText(); //This return s
var txtModified = txt.replace(htmlText, "is");
注:我使用此代碼替換爲none-HTML代碼的HTML代碼,反之亦然
準備的jsfiddle例子。幫助你會容易得多。 「 – Eru
」'替換粗體「是」'「,用什麼替換」大膽是「?刪除圍繞「is」的'b'標籤? – Teemu
我自己是使用本機JS的忠實粉絲,但是在這種情況下,沒有任何理由不使用jQuery? – contactmatt