Javascript 如果您没有';我不知道元素的id或类别

Javascript 如果您没有';我不知道元素的id或类别,javascript,click,jquery,Javascript,Click,Jquery,我使用-函数动态添加了jQuery单击事件: $("#elementId").click(function() { debugger; //Some code }); 我意识到您可以通过以下方式查找事件: 但是,如果您想动态地找到它们(如果有的话),该怎么办?例如 <div id="containerWithComplexStructure"> //Some elements with .click events may be in here </di

我使用-函数动态添加了jQuery单击事件:

$("#elementId").click(function() {
    debugger;
    //Some code
});
我意识到您可以通过以下方式查找事件:

但是,如果您想动态地找到它们(如果有的话),该怎么办?例如

<div id="containerWithComplexStructure">
    //Some elements with .click events may be in here
</div>

//此处可能存在具有.click事件的某些元素
如果您不知道他们的id或类别,那么如何找到他们

您是否可以通过框架(或类似工具)访问它们,并能够浏览它们的变量等

与此类似(单击要放大的图像):

有关单个已知元素的信息,请参见:

简单,
console.log(jQuery('elementId').data('events')在您的代码中

或者只是
jQuery('#elementId')。数据('events')

要查看所有元素中的事件,请执行以下操作:

var elements_with_events = 0;
$('*').each(function(i,e){

    if($(e).data('events')){
        console.log( $(e) );
        console.log( $(e).data('events') );
        elements_with_events++;
    }

});
console.log( elements_with_events + ' elements have events.' );
。。。等着撞车。事实上,它的工作速度惊人

也可以在附加事件时添加类。然后,您不是在搜索每个say的事件,而是在搜索类。

简单,
console.log(jQuery('elementId').data('events')在您的代码中

或者只是
jQuery('#elementId')。数据('events')

要查看所有元素中的事件,请执行以下操作:

var elements_with_events = 0;
$('*').each(function(i,e){

    if($(e).data('events')){
        console.log( $(e) );
        console.log( $(e).data('events') );
        elements_with_events++;
    }

});
console.log( elements_with_events + ' elements have events.' );
。。。等着撞车。事实上,它的工作速度惊人


也可以在附加事件时添加类。然后你就不用搜索事件,而是搜索类了。

我想我没有澄清,我不知道元素的ID,我会编辑我的帖子。虽然你的新答案实际上回答了我一半的问题,但我意识到jQuery的CSS选择器很适合这项工作,但是如果你想用断点实时(因为console.log不是这样)执行该怎么办?我猜我可以暂时将它们存储在一个变量中,这样我就可以通过调试器访问它们,但我必须尝试一下that@AskeB. 我漏掉了问题的哪一半?“你能通过Chrome开发者工具框架访问它们吗?”这是一个很糟糕的表达方式,询问如何通过断点找到它们(在调试/开发者工具或类似工具中)或者类似的比使用
console.log
console.log
更有效、更一致的方法将它们吐到开发人员工具框架中。您是否使用断点尝试过上面的代码。我个人从来没有使用过断点,所以如果它真的出现在OP中,我就不会麻烦了。我希望我的贡献有助于回答OP,甚至可能有助于回答您头脑中的问题。:)我想我没有澄清,我不知道元素的ID,我会编辑我的帖子虽然你的新答案实际上回答了我一半的问题,我意识到jQuery的CSS选择器可以胜任这项工作,但是如果你想用断点实时(因为console.log不是)怎么办?我猜我可以暂时将它们存储在一个变量中,这样我就可以通过调试器访问它们,但我必须尝试一下that@AskeB. 我漏掉了问题的哪一半?“你能通过Chrome开发者工具框架访问它们吗?”这是一个很糟糕的表达方式,询问如何通过断点找到它们(在调试/开发者工具或类似工具中)或者类似的比使用
console.log
console.log
更有效、更一致的方法将它们吐到开发人员工具框架中。您是否使用断点尝试过上面的代码。我个人从来没有使用过断点,所以如果它真的出现在OP中,我就不会麻烦了。我希望我的贡献有助于回答OP,甚至可能有助于回答您头脑中的问题。:)