jQuery:每个都没有遍历每个项ID

时间:2013-07-20 18:43:33

标签: jquery loops

我有一些像这样的HTML,其中ID代表人物Gamertag:

<img src="image.png" id="Blah">
<img src="image.png" id="Someone">
<img src="image.png" id="Blah">

我需要css()每个人,所以我尝试使用each()来涵盖上述重复项的条件。

我把它作为测试运行:

$( "#Blah" ).each(function( index ) {
  console.log( index + ": " + $(this).text() );

但它只返回了1个结果。我应该使用什么来迭代覆盖重复项?

2 个答案:

答案 0 :(得分:4)

您必须使用class而不是id,因为id是元素的唯一属性

<img src="image.png" class="Blah">
<img src="image.png" class="Blah">
<img src="image.png" class="Blah">

然后使用class name

进行迭代
$(".Blah").each(function() {

FIDDLE

答案 1 :(得分:1)

您不能将ID作为扇区的原因是因为所有图像都具有不同的ID,而.each()方法将仅使用每个ID一个。从技术上讲,您希望each()方法遍历所有图像,因此您需要与所有图像相关的内容,例如每个img的类或所有图像的包装,您可以将其用作图像的选择器。此示例基于父div div-img选择器。 Khawer Zeshan的另一个答案是基于类选择器。从发展的角度选择更有意义的方法。

假设您要访问ID为div-img的DIV中的所有图片,并且您拥有如下HTML:

<div id="div-img">
   <img src="image.png" id="Blah">
   <img src="image.png" id="Someone">
   <img src="image.png" id="Blah">
</div>

以下是如何访问特定div中的所有图像:

$("#div-img img").each(function( index ) { 
    console.log( index + ": " + $(this).text())
});

jsfiddle:http://jsfiddle.net/trzMj/1/