本帖最后由 mumubangditu 于 2010-10-08 05:16:22 编辑

解决方案 »

  1.   

    不想修改 img tag 加 ID,就找出需要加 ID 的 img tag有什麼特徵,這樣才有辦法做。
      

  2.   

    看见JQ我就蛋疼..
    其实你也可以这么搞.
    你的var defaults = {} 花括号里面能放 id : XXX 这个属性吗?
    能的话就循环给img命名加流水号咯.//给全部IMG重命名.写得有点粗糙
    var imgList = document.getElementsByTagName("IMG");
    for (var i = 0; i < imgList.length; i++){
        item.id = "名字前缀"+ i;
    }
      

  3.   

    谢谢楼上的
    但是用了getElementsByTagName("IMG")后,我网页上其他的img图片都会受牵连。
    可我只想在
    <div id="d1">
      <div class="d2">
        <table id="d3">
           <tr>
             <td><a id="d4" href="#">aaa</a></td>
             <td>
                <li id="d5">
    这些标签里面的img才使用该JS的效果。我很范晕 @-@
    可否先声明img外面的一个标签,然后再elements:'img'?
      

  4.   

    是不是id=d1的div中包含的img使用特效,其他的不使用?
    如果是这样的话,你可以写成:$("#d1 img").addClass("这里写你的特效样式");
      

  5.   

    刚试了一下,外面只有一个div时,$("#d1 img")有效,但多个div时
    $("#d1 .d2 #d3 #d4 #d5 img")这样的写法无用。
    怎样写多级ID标签呢?
      

  6.   

    var userImgList = document.getElementById("d1").getElementsByTagName("IMG");
    直接取到d1下所有的IMG了.
    foreach(var item in userImgList) {
        with(item) {
            //加你所需要的CSS样式
             className = "....";
            //加动作
             onclick = function() { xxxx(); }
        }
    }
      

  7.   

    这样效率不高, 直接$("#d5 img").xxxx()用原生的话: 
    var div = document.getElementById('d5');
    var imgs = div.getElementsByTagName("img");