给元素添加onclick后怎么获取本元素的父级元素

for(var i=0;.......){
            $("#groupUser").prepend("<li class='list-group-item'>"
                           +"<strong class='test'>姓名:xxxx 邮箱:xxxx 角色:xxxx</strong>"
                             +"<i class='fa fa-edit' onclick='modifyUser()'></i> 
                             +"<a href='goOutUser.do?userId=12'><i class='fa fa-trash-o'></i></a>
                           +"</strong>"
                           +"<div style='padding: 0 0 0 20px;'><span class='label label-default'>管理员</span></div>&nbsp;"
                           +"<div class='modifyForm'  style='padding: 5px 0 0 2%;'></div>
                         +"</li>");
                         }

当点击函数触发后想要往class='modifyForm'这个div中添加元素,但是只在被点击的那个中添加而不是for循环中的所有;

阅读 10.6k
4 个回答
$(this).parent() #获取父元素
$('.modifyForm').append(dom) #在末尾添加元素
function modifyUser(e) {
    var childText = document.createTextNode('hello');
    var child = document.createElement('p');
    var parent = e.srcElement.parentElement;
    child.appendChild(childText);
    parent.lastElementChild.appendChild(child)
}

$('#groupUser').on('click','.fa-edit',function(){ //绑定事件

$(this).parent(); //获取父元素

})

这样试试

更省事点的话你直接把事件绑外层就是了。。。反正click会冒泡

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题