使用jquery.parseHTML()解析html字符串,更改数据并返回字符串
我使用jquery parseHTML加载到DOM中,然后搜索关键字并在关键字周围放置一个带有类的span标记,然后希望将其返回到字符串中并插入主字符串中使用jquery.parseHTML()解析html字符串,更改数据并返回字符串,jquery,Jquery,我使用jquery parseHTML加载到DOM中,然后搜索关键字并在关键字周围放置一个带有类的span标记,然后希望将其返回到字符串中并插入主字符串中 var mainStr = '<div>... a long html ...</div>' var-mainStr=”。。。一个长长的html…' 以下是html主字符串的一部分。我有一个位置,在一些更改之后,我将把它插入主字符串中 var str ='<span></span&
var mainStr = '<div>... a long html ...</div>'
var-mainStr=”。。。一个长长的html…'
以下是html主字符串的一部分。我有一个位置,在一些更改之后,我将把它插入主字符串中
var str ='<span></span> Here is <a href="someurl">xxxxx </a> a presentation of certain statements';
var myHtml = $.parseHTML(str);
var keyword = 'presentation'.
$.each(myHtml, function (i, el) {
if (el.nodeName == '#text') {
var loc = el.nodeValue.search(keyword);
if(loc >0)
el.nodeValue = el.nodeValue.replace(keyword, "<span class='redColor'>" + keyword + "</span>");
});
var str='这里是某些语句的表示';
var myHtml=$.parseHTML(str);
var关键字='presentation'。
$.each(myHtml,函数(i,el){
如果(el.nodeName=='#text'){
var loc=el.nodeValue.search(关键字);
如果(loc>0)
el.nodeValue=el.nodeValue.replace(关键字“+”关键字+”);
});
问题是如何将myHtml对象恢复为字符串,例如:
<span></span> Here is <a href="someurl">xxxxx </a> a <span class="redColor">presentation</span> of certain statements'
以下是某些语句的演示文稿'
插入到mainHtml字符串中
谢谢您的帮助。您不应该用html内容更新文本节点的节点值,它将不会被解析 相反,您可以用更新的html结构替换文本节点,如
var str='这里是某些语句的表示';
var关键字='presentation';
var myHtml=$(“”{
html:str
});
myHtml.contents().contents().addBack().each(函数()){
if(this.nodeType==Node.TEXT\u Node){
var loc=this.nodeValue.search(关键字);
如果(loc>0){
变量$tmp=$(''{
html:this.nodeValue.replace(关键字“+”关键字+”)
})
$(this.replaceWith($tmp.contents());
}
}
})
var html=myHtml.html();
$(“#结果”).text(html);