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');
});
Есть ли у кого-нибудь идеи?
Ответы
Ответ 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);
});