添加选项以使用数据属性jQuery进行选择

时间:2014-06-05 09:28:52

标签: jquery

我还在学习如何使用jQuery,但我偶然发现了一个块,无法通过它。如何将option附加到select data-*属性?目前,我通过以下代码附加选项:

$('<option>').val(object.val).text(object.object.text).appendTo('#includedItems');

有没有办法在选项中添加data-*

5 个答案:

答案 0 :(得分:4)

使用此 .attr()

$('<option>').attr('data-name','abcd');

.data()

$('<option>').data('name','abcd');

$('<option>').val(object.val).attr('data-name','abcd').text(object.object.text).appendTo('#includedItems');

注意: .data()将数据存储在DOM对象中,而不是.attr()时的Html属性。

答案 1 :(得分:3)

只需向链中添加attr()data()来电:

如果您想拥有实际的attr()属性,请

使用data-*

$('<option>').val(object.val).text(object.object.text).attr('data-x', 'y').appendTo('#includedItems');
                                                       ^ call attr()

使用data()使用jQuery的内部数据存储系统(不使用属性)

$('<option>').val(object.val).text(object.object.text).data('x', 'y').appendTo('#includedItems');
                                                       ^ call data()

答案 2 :(得分:1)

您可以使用:

 $('<option data-smdata="value"></option>').val(object.val).text(object.object.text).appendTo('#includedItems');

答案 3 :(得分:0)

您可以使用.attr("data-lala",val)在元素上创建属性,或.data("lala",val)如果您不介意该信息是否隐藏在DOM中(检查可能无法显示正确的值)。

答案 4 :(得分:0)

您可以使用:

null