2010-08-08 21 views
2

我如何重复每个div的ID可以说1的功能。为每个div重复函数

这就是我的html的样子。

<div class="main" id="1"> 
<div class="select" id="1">value</div> 
<div class="select" id="2">value</div> 
<div class="select" id="3">value</div> 
<div class="select" id="4">value</div> 
<div class="select" id="5">value</div> 
</div> 
<div class="main" id="1"> 
<div class="select" id="1">value</div> 
<div class="select" id="2">value</div> 
<div class="select" id="3">value</div> 
<div class="select" id="4">value</div> 
<div class="select" id="5">value</div> 
</div> 

我想遍历所有具有class main的div,并获取所有名为select的cub类的值。我不断增加的页面,以便有可能是一个主要的股利或有可能是100

非常感谢

编辑: 怎么样这样的事情。

我的HTML:

<div id="status"></div></div> 
<div class="main"> 
<div class="select">value</div> 
<div class="select">value</div> 
<div class="select">value</div> 
<div class="select">value</div> 
<div class="select">value</div> 
</div> 
<div class="main"> 
<div class="select">value</div> 
<div class="select">value</div> 
<div class="select">value</div> 
<div class="select">value</div> 
<div class="select">value</div> 
</div> 

而且我的jquery:

$('.main div:nth-child(1)').each(myFunction); 

function myFunction() 
{ 
    var value = $(this).val; 
    $('#status').append(value); 
} 

与名称主要我想有一个函数,将获得有史以来值与类选择div的每个格在主要的div上。然后转到下一个主要课程。

+0

我不知道这是否是您的实际标记,但ID属性有两个问题。他们不能以数字开头,并且ID不能在同一页面上重复。它们必须是唯一的。 – user113716 2010-08-08 00:17:23

+0

你的内部ID和内部类都可能是多余的。 – 2010-08-08 00:35:12

+0

根据你所做的编辑,你越来越近了。如果您试图获取div中的文本“value”,则需要执行$(this).html()而不是$(this).val()。 val()给你一个文本框的值属性或类似的东西,而html()会给你所选元素中的html。 我仍然建议使用$('div.main div:nth-​​child(1)'),因为它首先将其缩小为div,所以效率更高一些,但两者在技术上都有效。 – 2010-08-09 00:46:30

回答

0

你不能有多个相同的ID!此外,ID不能以数字开头。添加类,如 “C1”,然后

$('.main .select').each(function(el){ 
alert($(this).val()); 
}); 

我是新来的jQuery,所以检查

4

有效HTML markup需要有独特 IDS。所以不要使用多个ID。使用类代替,让我们假设你有一个名为one分配给多个元素类:

$('.one').each(function(){ 
    $(this).somefunction(); 
}); 

该代码将查询所有这些元素,并调用一个方法somefunction()他们每个人。

参见.each()

+0

+1使你的代表10k;) – Sinan 2010-08-08 00:36:45

+0

@Sinan Y .: Wooho,Yay! ;) – jAndy 2010-08-08 00:38:22

0

Misiur接近但每个方法只需要一个函数与指数和元件。此外,我还在类之前添加了div标签,以便它不会查看所有元素。只是让它更高效一点。

$('div.main div.select').each(function(index, el){ 
    alert($(this).val()); 
}); 
+0

如果你不使用每个回调函数中的参数,你可以将它们关闭,并简单地让'this'成为循环中的curent元素。 '('div.main div.select')。each(function(){alert($(this).val());});' – 2010-08-08 00:24:04

+0

非常真实,我只是为了完整而将它包括在内,因为有时索引可以是有用的 – 2010-08-09 00:42:28

0

您可能不需要每个div上的数字。

$('.main div:nth-child(1)').each(myFunction); 

function myFunction() 
{ 
    //operate on $(this) 
}