Javascript 如何为单击的记录获取动态循环元素的id
我有通过json_encode循环并发送到html文件的记录。对于每个记录,我都有一个数据属性,我正在存储记录id。我试图完成的是当用户单击Edit.recEdit时,我可以获得id数据recId。我正在尝试使用click函数,利用$this和父函数来实现这一点 我做错了什么 以下是php文件中的循环代码:Javascript 如何为单击的记录获取动态循环元素的id,javascript,jquery,Javascript,Jquery,我有通过json_encode循环并发送到html文件的记录。对于每个记录,我都有一个数据属性,我正在存储记录id。我试图完成的是当用户单击Edit.recEdit时,我可以获得id数据recId。我正在尝试使用click函数,利用$this和父函数来实现这一点 我做错了什么 以下是php文件中的循环代码: $html .= '<div class="recentProjectCont" data-recId="'.$recProjId.'">'; $html .= '<div
$html .= '<div class="recentProjectCont" data-recId="'.$recProjId.'">';
$html .= '<div class="recProjInfoCont">';
$html .= '<div class="recInfoCont1">';
$html .= '<span class="recProjName recBaseFormat">'.$recProjName.'</span>';
$html .= '</div>';
$html .= '<div class="recInfoCont2">';
$html .= '<span class="recInfoStat recBaseFormat">'.$recProjStat.'</span>';
$html .= '</div>';
$html .= '</div>';
$html .= '<div class="recEdit">Edit</div>';
$html .= '</div>';
数据属性的名称在jQuery的内部缓存中被标准化为小写,因此需要使用数据'recid'而不是数据'recid'
$document.body.on'click','.recEdit',函数{
var projID=$this.parent.data'recid';
console.log“项目ID为…”+projID;
};
$recProjName
$html
$recProjStat
编辑
$html
如果不坚持使用$this,可以尝试提供如下onClick处理程序函数:
function(event) {
var projID = $(event.target).parent().data('recId');
console.log('Project ID is..... ' + projID);
}
您可以用这种方式稍微改变一下您的方法-在最后一行php之前更改为
$html .= '<div class="recEdit" onclick="clicked('.$recProjId.')">Edit</div>';
函数clickedprojID{
console.log“项目ID为…”+projID;
}
.recEdit{填充:10px;背景:fdf;宽度:30px;光标:指针}
我的项目
统计数字123
编辑
谢谢-这就成功了!当然,之前已经注意到了案例规范化…?@HereticMonkey不,我迄今为止所做的任何事情都没有给我带来任何问题。我不知道我有一个名声:你是对的,这本应该是一个重复关闭的。考虑到它在语法上被破坏,我不确定为什么会被否决,就最佳实践而言,这是一个大倒退。@Rorymcrossan使用jquery就最佳实践而言是一个大倒退,这是有争议的。然而,使用内联onclick属性并不是任何人都应该做的事情,这是有争议的——现代的framewroks就像html模板中的角度绑定处理程序一样。在纯js中,尤其是对于小页面,这是可以接受的。对于大页面,人们使用框架。。。
$html .= '<div class="recEdit" onclick="clicked('.$recProjId.')">Edit</div>';
function clicked(projID) {
console.log('Project ID is..... ' + projID);
}