将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
}
});
}
});
那么,你有很多变量的混合。看
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)
,也将努力
如何制作以便所有在jQuery或JS中都不混合? –
我只会使用jquery,所以不要使用'this.parentElement' - 而是使用'$(this).parent()'。不是'this'而是'$(this)'。不是'this.textContent',而是'$(this).text()'等等... –
什么'myTr' ??? –
@HappyCoding预创建'tr'元素 –