jQuery’.each’并附加’.click’事件

我不是一个程序员,但我喜欢建立原型。我所有的经验都来自于ActionScript2。

这是我的问题为了简化我的代码,我想弄清楚如何将“.click”事件附加到HTML体中已经存在的div中。

<body>
<div id="dog-selected">dog</div>
<div id="cat-selected">cat</div>
<div id="mouse-selected">mouse</div>

<div class="dog"><img></div>
<div class="cat"><img></div>
<div class="mouse"><img></div>
</body>

我的(失败的)策略是:
1)创建一个对象数组:

var props = {
"dog": "false","cat": "true","mouse": "false"
};

2)使用’.each’遍历数组,并用’.click’事件扩充每个现有的div。最后,构造局部变量。

这里是一个原型:

$.each(props,function(key,value) {    
$('#'+key+'-selected').click(function(){
var key = value;  
});
});

解决方法

您可以使用的一个解决方案是为您希望点击事件处理程序绑定的任何div分配一个更通用的类。

例如:

HTML:

<body>
<div id="dog" class="selected" data-selected="false">dog</div>
<div id="cat" class="selected" data-selected="true">cat</div>
<div id="mouse" class="selected" data-selected="false">mouse</div>

<div class="dog"><img/></div>
<div class="cat"><img/></div>
<div class="mouse"><img/></div>
</body>

JS:

$( ".selected" ).each(function(index) {
    $(this).on("click",function(){
        // For the boolean value
        var boolKey = $(this).data('selected');
        // For the mammal value
        var mammalKey = $(this).attr('id'); 
    });
});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...