我必須用數組中的內容替換頁面內的文本。用數組中的已解析HTML代替文本
我的數組包含70個wordpais像:
var wordMark = [];
wordMark[0] = ['mytext','<b>my</b>Text'];
wordMark[1] = ['anothertext','<b>another</b>Text'];
wordMark[2] = ['therealtext','Therealtext'];
我的功能如下:
// Schriftzüge ersetzen
function setWordMarks() {
//for(var wordMarkI=0; wordMarkI<=wordMark.length-1; wordMarkI++){
for(var wordMarkI=0; wordMarkI<=5; wordMarkI++){
//alert(wordMark[wordMarkI][0]);
$('body, body *')
.contents()
.filter(function() {
return this.nodeType == Node.TEXT_NODE
&& this.nodeValue.toLowerCase().indexOf(wordMark[wordMarkI][0]) >= 0;
}).each(function() {
this.nodeValue = this.nodeValue.toLowerCase().replace(wordMark[wordMarkI][0], wordMark[wordMarkI][1]);
});
};
}
一般來說它是關於與標準的CI-文本替換文本部分。
我的問題是,B標籤ist沒有解析,但寫入明文。
我希望,我coult解釋我的問題, 非常感謝你, Schmoozer
編輯: 這裏是現場演示:
$(document).ready(function(){
var wordMark = [];
wordMark[0] = ['mytext','<b>my</b>Text'];
wordMark[1] = ['anothertext','<b>another</b>Text'];
wordMark[2] = ['therealtext','therealText'];
// Schriftzüge ersetzen
function setWordMarks() {
for(var wordMarkI=0; wordMarkI<=5; wordMarkI++){
$('body, body *')
.contents()
.filter(function() {
return this.nodeType == Node.TEXT_NODE
&& this.nodeValue.toLowerCase().indexOf(wordMark[wordMarkI][0]) >= 0;
}).each(function() {
this.nodeValue = this.nodeValue.toLowerCase().replace(wordMark[wordMarkI][0], wordMark[wordMarkI][1]);
});
};
};
$('span.checkTheText').click(function(){
setWordMarks();
});
});
.checkTheText{
display: block;
margin: 10px;
padding: 5px;
border: 1px solid red;
width: 100px;
}
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>
<body>
<h2>This is myText</h2>
<div> some lorem ipsum like text including anothertext</div>
<div>No i add TheRealText to give all three examples</div>
<span class="checkTheText">Do the magic</span>
</body>
</html>
你能編輯您的問題,包括現場演示(使用「堆棧段」按鈕,將一個用鉛筆,給人們帶來了一個編輯器) ,或者鏈接到其他地方的現場演示(例如[JS Fiddle](http://jsfiddle.net/))?這樣我們就能感覺到正在發生的事情。 – 2014-11-14 13:10:45
@DavidThomas我插入代碼段。 – Schmoozer 2014-11-14 14:29:12