it-swarm.com.de

jQuery greift auf das html5-Datenattribut zu

Beim Anklicken einer der Optionen, die ich versuche, den Datenwert von 'ul li a' abzurufen und ihn in den unten stehenden Button einzufügen, habe ich hier ein Fiedel-Beispiel eingerichtet: http://jsfiddle.net/q5j8z/4/

Aber es scheint nicht zu funktionieren

$('ul li a').click(function(e) {
    e.preventDefault();

    var value = $(this).data();

    $('.button').data('value');
});

Hat jemand bitte Ideen?

17
Adam

Du kannst das:

$('ul li a').click(function (e) {
    e.preventDefault();
    var value = $(this).data('value');
    $('.button').data('value', value);
    console.log($('.button').data('value'));
});

Hier wird $(this).data('value') verwendet, um den Attributwert data der Verknüpfung abzurufen.

und $('.button').data('value', value) wird verwendet, um den data-Attributwert der Schaltfläche festzulegen.

Mit console.log($('.button').data('value')); können Sie in der Konsole den eingestellten data-Wert überprüfen.

FIDDLE DEMO

Für weitere Informationen: - .data () API-Dokumentation

15
palaѕн

Verwenden Sie es so:

var value = $(this).data('value');

Und dann:

$('.button').data('value', value);
2
A. Wolff

Versuche dies:

$('ul li a').click(function(e) {
        e.preventDefault();

        var value = $(this).data('value');

        $('.button').data('value', value);
    });

Sie können den Wert der Schaltfläche mit console.log in Ihrer Konsole folgendermaßen anzeigen:

console.log('data: '+$(".button").data("value"));

Sie weisen der Schaltfläche tatsächlich keine Wertdaten zu. Versuche dies:

$('ul li a').click(function(e) {
    e.preventDefault();

    var value = $(this).data();

    // assign the value form the clicked anchor to button value data
    $('.button').data('value', value);

    console.log($('.button').data('value'));
});
1
thomas

Bitte beachten Sie, dass Sie kein Daten-Präfix angeben müssen, da Jquery dies automatisch tut

Stellen Sie daher sicher, dass Sie das richtige Attribut für den Wert unten verwenden

$('ul li a').click(function(e) {
    e.preventDefault();
    var value = $(this).data('value');
    $('.button').data('value', value);
});
0
Digitlimit

Als Erstes versuchen Sie, den Wert der Variablen value oder des Wertliteral einzufügen.

data() soll ähnlich wie attr('attr-name', attr_value) wie folgt verwendet werden:

$('ul li a').click(function(e) {
    e.preventDefault();  
    var value = $(this).data('value');
    $('.button').data('value', value);
});

Das oben genannte funktioniert in Ihrer Geige.

0
Ted