2

我承认迷路了。我正在尝试选择一个嵌套在 div 中嵌套的 ul 中的行项目中的按钮

这是创建菜单栏的php。它通过 ajax 返回到 id 为“menubar”的 div。那部分工作正常。但是,我的点击功能都没有做任何事情。

echo "<ul>";
echo "<li class = 'menu'><button class = 'menbtn' id='scores'>Scores</button></li>";
echo "<li class = 'menu'><button class = 'menbtn' id='rules'>Rules</button></li>";
echo "<li class = 'menu'><button class = 'menbtn' id='courses'>Courses</button></li>";
echo "<li class = 'menu'><button class = 'menbtn' id='history'>Comments</button></li>";
echo "<li class = 'menu'><button class = 'menbtn' id='history'>Reservation</button></li>";
echo "</ul>";

我假设我必须使用某种嵌套选择,因为带有“分数”的按钮的点击功能 - $('#scores') 什么都不做。我已经尝试了各种嵌套选择器并且已经删除了。

如果有人可以向我展示带有“分数” id 的按钮的正确选择器,我会从那里弄清楚。

谢谢,

DMD

4

5 回答 5

1

看来您没有将这些事件放在 document.ready 函数中。试着把它们放进去。

例子 :

$(document).ready(function(){
   $("#scores").click(function(){
       // Your Stuff
   });
});
于 2012-11-10T04:39:55.253 回答
0

这将为您的按钮添加一个事件侦听器。

$(document).on('click', '#scores', function (){
    //do something
});
于 2012-11-10T04:41:53.557 回答
0

首先,您的 html 按钮 Comments and reservations 具有相同的 id 无效标记,其次

选择器其实很简单

$("#scores") //<----

但是由于您没有提供有关如何构建 html 的太多详细信息,因此很难看出真正的解决方案是什么,只能猜测。一件事可能是您需要在on通过 php 添加 html 后使用事件来触发事件处理程序

例如

$("#score").on("click", function(){ //do something});
于 2012-11-10T04:45:07.930 回答
0

问题是 jquery 可以读取 dom 中的 ajax 返回的新元素。要通知 jquery 重新读取 dom,您必须调用 live。

$('#scores').live("click",function(){
     alert("you clicked scores");
});
于 2012-11-10T04:50:26.797 回答
0

您可以使用live()方法,在此方法的帮助下,您可以触发通过 ajax 添加的新元素。

$(document).ready(function(){
  $('#scores').live('click',function(){
    //Your code
  })
});
于 2012-11-10T04:52:36.580 回答