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

最佳答案

您的示例中的thisdiv 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是触发的事件,您只需访问它的目标即可。

09-11 20:47