我在这里有一个jquery问题,我的页面上有一些动态的html链接,一旦链接被点击它应该打开一个使用jquery的对话框,问题是我不确定没有链接,因为他们是动态生成通过PHP循环所以我不能提供不同的ID到那些链接并单独定位它们,我想要一种方式,以便任何链接被点击它应该打开一个对话框,无论他们都是相同的ID或类。
如果您希望我更具体,请告诉我。
谢谢
答案 0 :(得分:0)
如果您动态生成内容,则对话框中始终可以显示<div>
并填充.html(contents);
答案 1 :(得分:0)
同一个班级
$('a.your_class').click(function(){
//your code for dialog
});
这不会使用相同的id,因为jquery只返回第一个结果,因为ID在整个页面上应该是唯一的。
每个链接
$('a').click(function() {
//your dialog here
});
用于特定容器中的链接
$('#container a').click(function() {
//your code for dialog
});
只需确保代码需要放入
(文档)$。就绪(()的函数 { //你的代码在这里,这将在加载页面时执行代码 });
答案 2 :(得分:0)
查看jQuery live函数以绑定可能尚不存在的元素。
我会使用live通过类名绑定到链接。单击链接时,将对话框连接并打开。像这样......
$(".some_class").live("click", function(event){
$(this).dialog(options); //create the dialog
$(this).dialog("open"); //open the dialog
});
答案 3 :(得分:0)
您应该将click事件绑定到与您动态生成的链接一致的内容。例如,如果您为链接指定了一个“对话框链接”类,那么您可以为该特定类做一个选择器。
$('a.dialog-link').click(function(){
//Do something
});
如果在pageLoad之后通过javascript动态地将链接附加到您的dom,那么您必须实时委派点击。
$('a.dialog-link').live('click',function(){
//Do something
});
答案 4 :(得分:0)
$(foo).dialog({ autoOpen: false })
将创建对话框,
$('a.opendialog').live('click',function() {
$(foo).dialog('open');
return false;
}
每次单击添加了“opendialog”类的链接时,都会打开它。