2016-08-18 6 views
0

Diese Meteor Vorlage Helfer erhält seine Roh-HTML aus Mongodb Sammlung, muss es dann ein bestimmtes tr Element mit einem vor erstellt tr Element myTr ersetzen. Es wäre schön javascript zu verwenden, aber das Folgende benutzt jQuery, das den Job nicht macht.
Wie kann es gemacht werden? DankeErsetzen Sie HTML-Element durch eine andere

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

arbeiten Was ist 'myTr' ??? –

+0

@HappyCoding vor erstellt 'tr' Element –

Antwort

0

Nun, Sie haben beatiefull Mischung von Variablen. Schauen

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 

versuchen jObj(this.parentElement)-$(this.parentElement) ändern und es wird

+0

Wie kann es so gemacht werden, dass alle in jQuery oder JS und nicht mischen? –

+0

Ich würde nur jquery verwenden, also kein 'this.parentElement' - stattdessen' $ (this) .parent() '. Nicht "das" sondern "$ (this)". Nicht 'this.textContent', sondern' $ (this) .text() 'und so weiter ... –

Verwandte Themen