如何在javascript中使用替换函数动态替换图片src?

问题描述:

我想动态地使用JavaScript中的替换functon替换一些图片的src。我不知道该如何编写正则表达式。如何在javascript中使用替换函数动态替换图片src?

我想用别的东西替换条件:1200 | 990 | 768 | 590 | petit。

这里是我的代码:

<div class="row"> 
      <div class='col20 cs50'> 
       <div class="row"> 
        <div class="col100"> 
         <div class="contenu"> 
          <p class='square'>Design and styled with Ulkit.</p> 
         </div> 
        </div> 
        <div class="col100"> 
         <div class="contenu"> 
          <img class='pictures' src=''> 
         </div> 
        </div> 
       </div> 
      </div> 
      <div class='col40 cs50'> 
       <div class="bg-contenu cssmall">5</div> 
      </div> 
      <div class='col40 cs100'> 
       <div class="row"> 
        <div class='col50 cs50 '> 
         <div class="contenu"> 
          <p class='square'>Flexible, nested grid layout.</p> 
         </div> 
        </div> 
        <div class='col50 cs50'> 
         <div class="contenu"> 
          <img class='pictures'src=''> 
         </div> 
        </div> 
        <div class='col100'> 
         <div class="contenu"> 
          <img class='pictures'src=''> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 

这里的js`var图片= document.getElementsByClassName( '图片');

  function replaceimg(picsize){ 
       for(i=0;pics.length>i;i++){ 
       pics[i].src.replace(/1200|990|768|590|petit/,'img/'+picsize+'/cube'+picsize+'.jpg'); 
       } 

      } 



      function resizeimg() { 
       if (window.innerWidth > 1200) { 
        replaceimg(1200); 
       } else if (window.innerWidth < 1200 && window.innerWidth > 990) { 
       replaceimg(990) 
       } else if (window.innerWidth < 990 && window.innerWidth > 768) { 

       } else if (window.innerWidth < 768 && window.innerWidth > 590) { 

       } else if (window.innerWidth < 590) { 
       } 
      }; 

      resizeimg();` 
+3

的'.replace()被可视化'方法返回修改后的串。它不会更改原始字符串。 – Pointy

+0

我应该如何纠正replace()方法? –

+1

将其返回值赋给'.src'属性:'pics [i] .src = pics [i] .src.replace(...)' – Pointy

如果你已经习惯了数学,X = X + 1不使一个很大的意义。正如在评论中所说的,你需要将.replace函数的返回值赋给原始字符串以覆盖它。

它需要原始字符串,并将修改后的字符串放入一个新的对象/字符串中,就我所知,这是几乎任何编程语言都可以做到的。

在您的情况下,这最好由原件= Original.modifyingFunction()或

改性= Original.modifyingFunction() 原件=改性