我想知道是否有办法使用jquery $ .data将button1元素绑定到button2,这样当我点击button2时 我可以访问button1对象并提取属性等。
我的绑定代码在以下函数中,通过单击button1调用此对象,并将此对象作为:
传入button1的:
$(".acc-offer-clicked").click(function(e){
e.preventDefault();
getCourierList(this);
});
function getCourierList(obj) {
//Bind the accept button to the choose-courier button
$.data($("#choose_courier"), "accept", obj);
}
稍后点击button1时,我希望将button2解压缩为
$("#choose_courier").click(function(e){
e.preventDefault();
var acceptbutton = $(this).data("accept");
});
此时,接受按钮未定义。我以前能够绑定{}
类型的对象,但我从未尝试使用实际元素。这甚至可能吗?
答案 0 :(得分:1)
我认为问题在于
$.data($("#choose_courier"), "accept", obj);
将数据绑定到新创建的jQuery对象 $("#choose_courier")
。然后,当您尝试检索它时,您创建另一个对象,该对象没有任何data
关联。
Documentation提供以下$.data
签名:jQuery.data( element, key, value )
。不是 jQuery对象,而是元素。
要解决您的问题,您可以使用$(selector).data()
。
我在此示例Fiddle中包含了这两种变体,请查看。