jquery-在哪里存储额外信息?

jquery-在哪里存储额外信息?,jquery,Jquery,所以我有一个插件,我一直在工作,采取了一个选择框,然后隐藏它,并使一个与锚链接在它的div。(下拉部分等工作正常) 当我创建锚元素时,我应该在哪里存储它们代表的选项值?单击它们时,我需要能够将数据放回选择框中 想法?意见?数据功能非常方便 // Store $('#some_selector').data('foo', 'bar'); // Retrieve var value = $('#some_selector').data('foo'); 使用HTML5data-属性 我想到两个主意

所以我有一个插件,我一直在工作,采取了一个选择框,然后隐藏它,并使一个与锚链接在它的div。(下拉部分等工作正常)

当我创建锚元素时,我应该在哪里存储它们代表的选项值?单击它们时,我需要能够将数据放回选择框中


想法?意见?

数据功能非常方便

// Store
$('#some_selector').data('foo', 'bar');

// Retrieve
var value = $('#some_selector').data('foo');

使用HTML5
data-
属性


我想到两个主意。首先,根本不存储值,使用索引选择项目:

var realSelect = $("select");
$("#fakeselect").delegate("a", "click", function (e) {
  e.preventDefault();
  realSelect[0].selectedIndex = $(this).index();
});
当然,您也可以使用jQuery
data
函数将值与链接相关联:

$("option").each( function(i, el) {
   $("<a />", {
     html: el.innerHTML,
     data: { val: $(el).val() }
   }).appendTo("#fakeselect");
});

$("#fakeselect").delegate("a", "click", function (e) {
  e.preventDefault();
  alert( $(this).data('val') ); // alerts value
});
$(“选项”)。每个(功能(i,el){
$("", {
html:el.innerHTML,
数据:{val:$(el).val()}
}).附于(“#fakeselect”);
});
$(“#fakeselect”)。委托(“a”,“单击”,功能(e){
e、 预防默认值();
警报($(this.data('val'));//警报值
});

这些属性非常适合在使用JavaScript之前存储数据。一旦您使用jQuery,
data
方法就是更好的方法。