首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从jquery中的事件中获取HTML元素?

如何从jquery中的事件中获取HTML元素?
EN

Stack Overflow用户
提问于 2011-10-09 08:16:46
回答 3查看 12.6K关注 0票数 4

在一个jQuery函数中,我将获取表单元素上的事件,单击event。现在我想得到它的html。怎么可能呢?

例如,

代码语言:javascript
运行
复制
function(event, ID, fileObj, response, data) {
    alert( $(event.target) );            // output: [object Object]
    alert( event.target );               // output: [object HTMLInputElement]
    alert( $(event.target).html() );     // output: (nothing)    
}

我想要通过event点击表单对象的元素

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-09 08:23:50

您可以尝试event.target.outerHTML,但是我不确定它在所有浏览器中支持得有多好。一个更复杂但肯定有效的解决方案是将元素包装在另一个元素中,然后获取父元素的html:

代码语言:javascript
运行
复制
$('<div/>').html($(event.target).clone()).html();
票数 9
EN

Stack Overflow用户

发布于 2012-11-19 17:14:54

如果您的事件是click,则可以使用来自jQuery的click()方法绑定它。使用this到达元素,如下所示:

代码语言:javascript
运行
复制
$('#id').click(function(event){
  console.log($(this));
});
票数 3
EN

Stack Overflow用户

发布于 2015-06-15 12:28:43

我找到的最优雅的解决方案就是简单地使用事件目标上的属性。下面是一个如何检测事件源html标记的示例。此示例假设您已将列表项绑定为带有CSS类名myUnorderedList的无序列表事件,但如果在列表项中单击锚标记,则要禁用默认操作。

代码语言:javascript
运行
复制
$('ul.myUnorderedList').on('click', 'li', function(event){ 

    console.log('tagName: '+ event.target.tagName);    //output: "a"
    console.log('localName: '+ event.target.localName);//output: "a"
    console.log('nodeName: '+ event.target.nodeName);  //output: "A"

    if(event.target.tagName == 'a')
        return; // don't do anything...

    // your code if hyperlink is not clicked
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7702247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档