【问题标题】:JavaScript image replaceJavaScript 图像替换
【发布时间】:2011-05-16 22:25:08
【问题描述】:

我想知道脚本是否有一种简单的方法可以遍历我网页上的所有图像(可能属于某个类)并将所有这些图像的来源更改为同一个图像。这是一个复活节彩蛋,我想避免使用 AJAX 和 jQuery 之类的库。

【问题讨论】:

    标签: javascript image dom


    【解决方案1】:

    您可以只使用document.getElementsByTagName() 来获取所有<img> 元素,如下所示:

    var imgs = document.getElementsByTagName("img");
    for(var i=0, l=imgs.length; i<l; i++) {
      imgs[i].src = "someImage.jpg";
    }
    

    【讨论】:

    • 投给你是因为var i=0, l=imgs.length,不知道这样行。
    • @thejh - 是的,尽可能多地声明....length 检查起来可能很昂贵...或者至少加起来,因为它已检查 每个 循环,所以最好把它从等式中去掉:)
    • 谢谢!这非常有效,这是一个非常酷的技巧。
    • 嗯? collection.length一点都不贵
    • @user205376 - 确定尤其是在 IE 中,自己测试一下,你会看到上面的方法(访问一次 .length)总是更快:jsperf.com/length-comparison
    【解决方案2】:
    for ( var i = 0; i < document.images.length; i++ ) 
      if ( document.images[i].className == 'certain-class' ) // caution: can have multiple classes 
        document.images[i].src = '/hello.jpg';
    

    document.images 是从史前 DOM0 采用的 DOM2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      • 2016-03-23
      相关资源
      最近更新 更多