2016-10-24 4 views
0

Ich arbeite an einem kartenbasierten Layout. Auf jeder Karte gibt es Details zum Produkt. Eine davon ist die Telefonnummer, die als die tatsächliche Nummer ausgeschrieben ist (z. B. 555-555-5555).Element in DOM innerhalb jedes Containers verschieben

Ich versuche, den Textwert zu leeren, durch ein Materialdesignsymbol zu ersetzen und das Element an eine andere Position innerhalb des Karten-DOMs zu verschieben.

Hier ist, was ich versuche ...

$('#mainPage li.card').each(function(){ 

    $('.phone').text('').append('<i class="material-icons">textsms</i>').appendTo(WHAT HERE?); 
}); 

Ich habe versucht, $ (this) verwenden, aber kann nicht scheinen, dass die Arbeit. Wenn ich es ohne jedes geschrieben habe(), legte es jedes Telefonnummer-Symbol mehrmals auf jeder Karte, weshalb ich den .each() Ansatz begann. Jede Hilfe würde sehr geschätzt werden.

+0

'.text()' wird überschrieben, muss nicht geleert werden und dann '.append()'. Mach einfach '$ ('. Phone'). Append (' textsms')'. Bitte teilen Sie auch Ihr DOM und den Ort, an den Sie Elemente verschieben möchten, ich weiß nicht, wo Sie sie verschieben möchten. –

+0

Ich möchte jedes '.phone' an seine jeweilige' li.card' angehängt haben. '.phone' ist derzeit tief in' .card' verschachtelt. Ich muss nur in die richtige Richtung zeigen und ob diese allgemeine Herangehensweise richtig ist oder ob ich falsch sehe. – nvrwithoutacause

Antwort

1

Ihr Problem ist nicht in der AppendTo, es ist in der ersten $('.phone'). Das heißt, alle Elemente mit class = phone auszuwählen, nicht nur diejenigen innerhalb der spezifischen li.card, auf der Sie gerade iterieren. Wenn also .each() zur letzten li.card kommt, werden alle anderen Telefonelemente übernommen und an die letzte Karte angehängt.

zu beheben, ersetzen Sie einfach $('.phone') mit $(this).find('.phone')

und dann, wie Sie ursprünglich versucht, .appendTo($(this)) gut funktionieren sollte.

+0

Perfekt, das ist genau das, wonach ich suchte und half mir das Problem sofort zu beheben. Vielen Dank! – nvrwithoutacause

Verwandte Themen