18

单击其中一个选项时,我试图从“ul li a”中获取数据值并将其放入下面的按钮中,我在这里设置了一个小提琴示例:http: //jsfiddle.net/q5j8z/4 /

但似乎无法让它工作

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

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

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

请问有人有什么想法吗?

4

6 回答 6

16

你可以这样做:

$('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正在设置的值。

小提琴演示

有关更多信息:- .data() API 文档

于 2013-06-05T09:25:42.050 回答
2

像这样使用它:

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

进而:

$('.button').data('value', value);
于 2013-06-05T09:25:54.947 回答
1

试试这个:

$('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"));
于 2013-06-05T09:25:51.883 回答
1

您实际上并未将值数据分配给按钮。试试这个:

$('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'));
});
于 2013-06-05T09:27:13.913 回答
0

首先,您是要插入变量value的值还是“值”文字?

data()旨在attr('attr-name', attr_value)类似于以下使用:

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

以上在您的小提琴中有效。

于 2013-06-05T09:29:35.400 回答
0

请注意,您不需要指定 data- 前缀,因为 Jquery 会自动执行此操作

因此,请确保您使用正确的属性来获取以下值

$('ul li a').click(function(e) {
    e.preventDefault();
    var value = $(this).data('value');
    $('.button').data('value', value);
});
于 2014-12-10T10:05:38.550 回答