如何为点击事件为div创建jQuery唯一ID?

时间:2014-07-09 13:55:45

标签: javascript jquery

我需要选择将div元素附加到另一个div,我已经完成了,并且每当我选择新的选择时,它都应该添加新的div。

问题是,那些附加的div具有相同的id,所以我不能删除特定的元素。我通过声明var并将id与字符串组合起来使它们变得独一无二,例如:id="add_marke'+selectedKey+'"但是我不能做这样的事情jQuery( "#add_marke'+selectedKey+'" ).click(function() {

如何在制作唯一身份证时选择身份证?

var selectedKey = jQuery("#model").val();
jQuery('#example').append('' + '<div class="add_marke" id="add_marke' +
  selectedKey + '" >' +
  '   <div class="car_tag"><span  class="lbl"><span id="car_name" class="icon-remove"></span></div> ' +
  '&nbsp' +
  '   <select  name="model_cars" id="model_cars" ><option id="selectModel" name="selectModel" value="all" >Please select </option><option>test</option></select>' +
  '&nbsp' + '</div>');
jQuery("#car_name").click(function() {
  jQuery("#add_marke\\.selectedKey").remove();
});

6 个答案:

答案 0 :(得分:4)

您可以像使用预定义的前缀一样添加ID:

... id="add_marke_' + selectedKey + '" ...

然后使用jQuery选择器绑定点击,以获取ID add_marke_开头的所有元素:

$('div[id^="add_marke_"]').click()

答案 1 :(得分:0)

您需要做的是将点击处理程序添加到所有这些div共享的类名。触发点击处理程序后,您可以提取相关的id元素,并从id组成一个选择器。

jQuery( ".class_name" ).click(function() {
  var id = jQuery( this ).attr( "id" );
  jQuery( "#" + id ).remove();
}); 

答案 2 :(得分:0)

您可以使用

jQuery( ".icon-remove" ).click(function() {
        jQuery(this).parent().parent().parent().remove();
    });

答案 3 :(得分:0)

由于ID必须是唯一的,因此我可以选择以下两个选项之一:

  1. 在ID中附加某种计数器或数字标识符,因此您始终拥有唯一ID(例如,计算元素数量,然后将您的ID归为my-id-1my-id-2等。 )在这里,您必须编写DOM查询,以便仅搜索以给定模式开头的ID,div[id^="my-id-"]
  2. 使用class根据您希望为具有相同结构的所有<div>元素提供的任何互动来标识对象。在这里,您可以根据公共类进行查询,例如.add_marke

答案 4 :(得分:0)

<div class="parentElement">
   <span>jagadeesh</span>
   <span class="icon-remove car-remove"></span>
   <button >Remove</button>
</div>

    $('.car-remove').on('click',function(){
        var mainElement = $(this).closest('.parentElement')
        /// do what ever you want with main element. it selects only current parent
        //element
        mainElement.remove();
    })

答案 5 :(得分:0)

你想做这样的事吗?

http://jsfiddle.net/Wg9FE/1/

var selectedKey = "someId";

jQuery('#example').append('' +
            '<div class="add_marke" id="add_marke'+selectedKey+'" >' +
            '   <div class="car_tag"><span  class="lbl"><div id="car_name" class="icon-remove"></div></div> ' + '&nbsp' +
            '   <select  name="model_cars" id="model_cars" ><option id="selectModel" name="selectModel" value="all" >Please select </option><option>test</option></select>'+ '&nbsp' +
            '</div>');

jQuery( "#car_name" ).click(function() {
             jQuery( "#add_marke" + selectedKey ).remove();
        });