我承认迷路了。我试图选择一个嵌套在div
中嵌套的行中的行项目的按钮这是创建菜单栏的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>";
我假设我必须使用某种嵌套选择,因为id为“得分”的按钮的点击功能 - $('#scours')什么都不做。我已经尝试了各种嵌套选择器并且已经淘汰了。
如果有人能够向我显示id为“得分”的按钮的正确选择器,我会从那里弄明白。
谢谢,
DMD
答案 0 :(得分:1)
您似乎没有将这些事件放在document.ready函数中。试着把它们放进去。
示例:
$(document).ready(function(){
$("#scores").click(function(){
// Your Stuff
});
});
答案 1 :(得分:0)
这将为您的按钮添加一个事件监听器。
$(document).on('click', '#scores', function (){
//do something
});
答案 2 :(得分:0)
首先,你的html中有无效的标记按钮注释和具有相同id的保留,第二个
选择器它实际上很简单
$("#scores") //<----
但是,既然你没有详细说明你如何构建HTML,那么很难看出真正的解决方案只能猜测。有一点可能是你需要使用事件on
在通过php添加html后触发事件处理程序
例如
$("#score").on("click", function(){ //do something});
答案 3 :(得分:0)
问题是jquery可以读取dom中ajax返回的新元素。 要通知jquery重新阅读dom,你必须现场直播。
$('#scores').live("click",function(){
alert("you clicked scores");
});
答案 4 :(得分:0)
您可以使用live()
方法,在此方法的帮助下,您可以触发通过ajax添加的新元素。
$(document).ready(function(){
$('#scores').live('click',function(){
//Your code
})
});