我有这个:
$(document).on("click","#imgCancel",function(){
$("#tbl_zones td").click(function(){
editTables("#tbl_zones td",this)
})
})
我正在尝试使该函数更通用,以便它可以在多个表上工作。 imgCancel在表格内部,我正在制作的所有表格中都会有imgCancel。
我考虑过更换第二行:
$(document).on("click","#imgCancel",function(){
$(this).closest('table').find('td').click(function(){
editTables("#tbl_zones td",this)
})
})
但它没有用,而且我也不知道要把什么作为editTables的第一个参数(它应该引用当前表中的所有td)。
编辑: 修改jknaack的jsfiddle,我最终得到了这个:
$(document).on("click","#imgCancel",function(){
var tblID = $(this).closest('table').attr('id')
$("#"+tblID+" td").click(function(){
editTables("#"+tblID+" td",this)
})
})
答案 0 :(得分:0)
答案 1 :(得分:0)
只使用内部id(假设它包含td元素)
$(document).on("click","#tbl_zones td", function(){
editTables(this);
});
函数调用中的“this”将是单击的td元素。
答案 2 :(得分:0)
如果我找到了你,我认为你可以使用一些apporch,你可以将可点击元素中的新选择器作为数据属性传递。
很难知道你的HTML会是什么样子,所以我只是举了一个例子。当然,您可以自定义选择器,仅在单击的元素内或在壁橱中选择。
JS代码:
$(document).on("click",".actionbuttons",function(){
var selectedElements = $($(this).data("selector"));
selectedElements.css("background","#FF0000");
$(selectedElements ).click(function(){
$(this).css("background","#00FF00");
})
})
HTML示例:
<img class="actionbuttons" src="/" data-selector=".test1"/>
<div class="test1"></div>
<div class="test1"></div>
<div class="test1"></div>
<img class="actionbuttons" src="/" data-selector=".test2"/>
<div class="test2"></div>
<div class="test2"></div>