2016-02-28 65 views
0

我想動態地使用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

回答

1

如果你已經習慣了數學,X = X + 1不使一個很大的意義。正如在評論中所說的,你需要將.replace函數的返回值賦給原始字符串以覆蓋它。

它需要原始字符串,並將修改後的字符串放入一個新的對象/字符串中,就我所知,這是幾乎任何編程語言都可以做到的。

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

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