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