1

我有一些这样的 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 个结果。我应该用什么来迭代覆盖重复项?

4

2 回答 2

4

您必须使用class而不是idasid是元素的唯一属性

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

然后使用class name

$(".Blah").each(function() {

小提琴

于 2013-07-20T18:45:11.717 回答
1

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

假设您想使用 id 访问 DIV 中的所有图像,div-img并且您的 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/

于 2013-07-20T18:54:06.797 回答