如何区分生成哪个div事件

时间:2014-06-24 11:22:58

标签: jquery

点击复选框后,我将HTML的同一部分复制到名为“ ordersdiv ”的另一个div

现在,用户可以点击来自 activateUiHTML div或 ordersdiv div

的复选框

现在我有一个共同的监听器,如图所示

$(document).on("click", ".checkboxclas", function(e) {
 var divdata = $("div.activateUiHTML").html();
    $("#ordersdiv").append(divdata);
});

这是我的jsfiddle

http://jsfiddle.net/e56TY/18/

4 个答案:

答案 0 :(得分:2)

只需将类添加到订单div

<div id="ordersdiv" class="orders">

试试这个

$(document).on("click", ".checkboxclas", function(e) {
    var cls = $(this).parents('div').attr('class') // based on class
    if(cls == 'activateUiHTML')
    {
    var divdata = $("div.activateUiHTML").html();
    $("#ordersdiv").append(divdata);
    } 
    else{}
});

DEMO

答案 1 :(得分:1)

你可以为每个div添加额外的类,然后根据make desicion

添加
$(document).on("click", ".checkboxclas", function (e) {
    if ($(this).has('.classA')) {

    } else {

    }
    //var divdata = $("div.activateUiHTML").html();
    //$("#ordersdiv").append(divdata);
});

更清洁的解决方案是添加每个div类,然后在处理机制不同的情况下单独处理程序

答案 2 :(得分:0)

您检查父母要查找

$(document).on("click", ".checkboxclas", function(e) {
if($(this).parent().parent().attr('id')=="clickdiv")
 {
var divdata = $("div.activateUiHTML").html();
$("#ordersdiv").append(divdata);
 }

 });

Fiddle

答案 3 :(得分:0)

尝试DEMO 你需要添加一个简单的检查来做到这一点:

var id = $(this).closest("div").attr("id");
if(id!="ordersdiv")