将html元素替换为另一个

问题描述:

此流星模板助手从mongodb集合中获取其原始html,然后需要用预先创建的tr元素myTr替换特定的tr元素。这将是很好的使用JavaScript,但下面是使用jQuery这不是做这项工作。
怎么办?谢谢将html元素替换为另一个

Template.myHelper.helpers({ 
    info: function() { 
    let myTr = document.createElement('tr'); 
    //do things in myTr. 
    let data = myCollection.findOne({}); 
    let jObj = $($.parseHTML(data.rawHTML)); 
    jObj.find('td.myClass').each(function() { 
     if (this.textContent === "found it") { 
     this.parentElement.id = 'myId'; 
     jObj(this.parentElement).replaceWith(myTr); //<-- failed to repalce 
     } 
    }); 
    } 
}); 
+0

什么'myTr' ??? –

+0

@HappyCoding预创建'tr'元素 –

那么,你有很多变量的混合。看

jObj(this.parentElement).replaceWith(myTr); //<-- failed to repalce

jObj //that's jquery element 
this //that's html element 
this.parentElement //that's also html element 

jObj(this.parentElement) //what's this? supposed to be jquery object 

尝试改变jObj(this.parentElement)$(this.parentElement),也将努力

+0

如何制作以便所有在jQuery或JS中都不混合? –

+0

我只会使用jquery,所以不要使用'this.parentElement' - 而是使用'$(this).parent()'。不是'this'而是'$(this)'。不是'this.textContent',而是'$(this).text()'等等... –