2017-09-12 2 views
0

Etwas ist in meinem Code deaktiviert, da der Wert nicht aktualisiert wird. Beim Durchschleifen von Tabellenelementen suche ich nach Datenattributen. Wenn das Datenattribut 'text-scroll' existiert, sollte der Code an das neue div-Element angehängt werden. Wenn es nicht existiert, würde ich nur den Wert für das existierende Element aktualisieren. Hier ist Beispiel meines Code:Wie aktualisiert man den Wert des bereits existierenden Elements?

value = $.trim(decodeURIComponent(obj.DATA[elementID]['value'])); 

if($(this).attr('data-text')){ 
    console.log('Test Value: '+value); 
    if(!$(this).find('div').length){ 
     $(this).append('<div class="hm_textScroll">'+value+'</div>'); 
    }else{ 
     $('.hm_textScroll').val("Test"); 
     console.log($(this).find('div').attr('class')) 
    } 
} 

Wie Sie sehen oben ich zwei Konsolen gesetzt, einen für Wert und ein Element Wert zu aktualisieren. Bisher gibt die erste Konsole immer den richtigen Wert aus. Die zweite Konsole gibt die Elementklasse aus, der Wert wird jedoch nie aktualisiert. Zeile über dieser Konsole sollte den Wert aktualisieren. Kann mir jemand sagen, wo mein Code bricht? Ist das, weil mein Code Element on Fly erstellt?

+3

Haben Sie darüber nachgedacht, einen Espressokaffee zu kaufen? Ich bin sicher, dass Sie Ihr eigenes Problem lösen werden, nachdem Sie eine Tasse genommen haben ...... lassen Sie mich die Updates kennen – napi15

+0

@ napi15 Könnte etwas zu offensichtlich sein, aber ich kann das Problem nicht finden :( –

+0

Tatsächlich ist es sehr offensichtlich und du brauchst einen Espresso solid Coffee up – napi15

Antwort

2

Sie müssen html() oder text() anstelle von val() verwenden, abhängig von der Art des Wertes, den Sie auf das div einstellen möchten. Beides funktioniert für einfache Zeichenfolgen, aber Sie müssen html() verwenden, um HTML-Vorlagen einzufügen.

$('.hm_textScroll').html("Test"); 

Oder

$('.hm_textScroll').text("Test"); 
0

JQuery Klasse Selektor gibt ein Objekt-Array (mehr als ein Element die gleiche Klasse haben), so dass Sie das erste Element aus dem Array wählen sollte.
ändern Sie diese Zeile:
$ ('. Hm_textScroll'). Val ("Test");
bis
$ ('. Hm_textScroll'). [0] .val ("Test");

+1

Das wird nicht funktionieren, $ ('. Hm_textScroll') verweist auf ein div, div-Elemente haben keine Wert-Eigenschaft. –

Verwandte Themen