2

这是我的代码http://jsfiddle.net/amolw/6kdHG/
按钮是动态创建的(通常按钮的数据将来自 AJAX 请求)。为简单起见,我对这些值进行了硬编码。
我的问题是当我执行此操作时,thisHotel = $(this).data('hname'); 我在变量中未定义thisHotel
如果我用锚标记替换按钮,也会发生同样的事情。

4

1 回答 1

6

this在您的示例中是div id=hotels. 如果您进入 div 并选择按钮,它会起作用。我提出了另一种解决方案。

http://jsfiddle.net/6kdHG/3/

您可以使用事件的目标来获取您想要的信息。

$("[id^='hotel']").on('click', function (e) {
    thisHotel = $(e.target).data('hname');
    $("#selected").html("Selected Hotel " + thisHotel);
});

e是被触发的事件,您只需访问它的目标。

于 2013-07-25T12:26:16.170 回答