2011-11-04 42 views
1

我试图构建一个函数中使用的变量。该函数需要在具有不同ID的多个div上运行。从本质上讲,var会抓取每个div的ID并基于此运行该功能。我只是无法正常工作。如何获得一个嵌套的div编号与

这里是我的标记:

<div class="group"> 
    <div id="element1" class="element">Stuff</div> 
    <div id="element2" class="element">Stuff</div> 
</div> 

,这里是我的jQuery VAR “尝试” :)

var elementVar = $('.group').find('.element')this.attr('id'); 

所以基本上,会跑起来像以下,从而使功能上的每个DIV ID运行

$(elementVar).click(function(){ ... 

任何帮助将非常感激!

回答

5
$('.group .element').click(function(){ 
id = $(this).attr('id'); 
}); 

但我建议这样的事情。它为您提供干净的数据。

<div id="element2" class="element" data-id="2">Stuff</div> 
$('.group .element').click(function(){ 
id = $(this).attr('data-id'); 
}); 
0

只要使用此:

$(".group").children().each(function(){}); 

这得到了DIV的所有儿童group类和应用each() jQuery的功能,它们中的函数。

因此触发功能上点击:

$(".group").children().each(function(){ 
    $(this).click(function(){ 
    // click event here 
    }); 
}); 

而且,只要所有的div将有课,只是选择类:

$(".element").each(function(){ 
    $(this).click(function(){ 
    // click event here 
    }); 
}); 

但你可能只添加类,以便你的方法会奏效。如果你不打算添加类,那么第一种方法是你最好的选择。

更多关于children();here以及更多关于each();here

2

这应该做的伎俩:

$('.group div.element').click(function() { 
    $(this).....; 
}); 
1

是不是只是简单的

$('.element').click(function(){ 
    id = $(this).attr('id'); 
});