我正在使用jQuery和jQuery ui。以下是我的标记:
<div id="content">
<ul id="sortable">
<li class="button_tab"><div id="select_me">Select Me</div></li>
<li class="button_tab"><div id="select_me_1">Select Me 1</div></li>
<li class="button_tab"><div id="select_me_2">Select Me 2</div></li>
</ul>
</div>
jquery的:
$( ".button_tab" ).button();
我试图在click事件上获取id =“select_me”,但没有任何反应,因为button()函数插入了特定的类名,我无法正确选择它:
$('div#content ul#sortable li.button_tab div').click(function() {
alert($(this).attr('id'));
});
答案 0 :(得分:3)
给定的代码工作正常。然而,调用它们的顺序很重要。
.button()
将清除所有click
个事件,因为它在逻辑上应该处理“点击”。因此,为孩子们再次启用自定义click
事件。调用click
.button()
事件监听器
$( ".button_tab" ).button();
$('div#content ul#sortable li.button_tab div').click(function() {
alert($(this).attr('id'));
});
否则,您可以使用.on()
并在Jquery中创建动态click
事件侦听器。
答案 1 :(得分:1)
尝试
$("#sortable li.button_tab div[id^='button_tab']").click(function() {
alert($(this).attr('id'));
});
OR
$("#sortable li.button_tab").click(function() {
var div_id = $(this).find("div[id^='button_tab']").attr("id");
alert(div_id);
});