-4

为什么这不起作用?我已经检查了 10 次 >.<

HTML:

        <div id="slider_images">
            <img src="dummyimg.png">
            <img src="dummyimg.png">
        </div>

试图为#slider_images div中的每个图像提供一个ID ...

var images  =   $("#slider_images img");
var imgid   =   "1";
images.each(function(){
    $(this).attr("id", "image_"+imgid+"");
    imgid++;
});

这不起作用,我想给每个图像一个 id,但这没有发生。

4

5 回答 5

1

实际上根据jQuery.each 文档,回调是用索引和值(DOM)调用的,所以你可以这样做:

$("#slider_images img").each(function(i, e) {
    $(e).attr("id", "image_" + i);
});
于 2013-07-09T19:10:16.153 回答
0

你的代码很好。在本地进行了测试,并且可以正常工作。页面上还有其他脚本吗?如果是这样,请尝试删除它们以查看是否导致冲突。此外,请确保包含 jquery 库(在调用脚本之前)并确保将所有代码放入$(document).ready(). 我以前犯过那些愚蠢的错误...

$(document).ready(function() {
    // your code here
});
于 2013-07-09T19:37:29.033 回答
0

你需要把你的代码包装在

$(function() {
    //..code here..

});

?

于 2013-07-09T18:58:33.117 回答
-1

imgd 是一个字符串,将其更改为一个数字。增量不适用于字符串。 var imgid = 1;

于 2013-07-09T18:56:29.687 回答
-1

尝试针对父母,因此#slider_images也不要针对img内部。

所以尝试改变

var images = $("#slider_images img");

var images = $("#slider_images");

于 2013-07-09T19:09:58.310 回答