Подтвердить что ты не робот

JQuery доступ к атрибуту данных html5

При нажатии одной из опций я пытаюсь получить значение данных из "ul li a" и поместив его в кнопку ниже, я создал здесь пример скрипки: http://jsfiddle.net/q5j8z/4/

Но, похоже, он не работает

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

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

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

Есть ли у кого-нибудь идеи?

4b9b3361

Ответ 1

Вы можете сделать это:

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

Здесь $(this).data('value') используется для получения значения атрибута data ссылки.

и $('.button').data('value', value) используется для установки значения атрибута data для кнопки.

Используя console.log($('.button').data('value'));, вы можете проверить консоль на значение data.

FIDDLE DEMO

Для получения дополнительной информации: - . data() Документация по API

Ответ 2

Используйте его следующим образом:

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

И затем:

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

Ответ 3

Попробуйте следующее:

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

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

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

Вы можете увидеть значение кнопки с console.log в консоли:

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

Ответ 4

Фактически вы не назначаете данные значения. Попробуйте следующее:

$('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'));
});

Ответ 5

Сначала вы пытаетесь вставить значение переменной value или 'value' literal?

data() предполагается использовать аналогично attr('attr-name', attr_value), как показано ниже:

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

Вышеизложенное работает на вашей скрипке.

Ответ 6

Обратите внимание, что вам не нужно указывать префикс данных, потому что Jquery делает это автоматически

Поэтому убедитесь, что вы используете правильный атрибут для значения ниже

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