2016-09-25 73 views
0

我在我的html代碼中有一個ajaxi頁面,並且在第二頁有許多Div。並寫了一個功能,切割srting的第一個字符。問題是每當我重新加載第二頁時,它會一遍又一遍地重複字符串的第一個字符。我只想工作一次。 這裏是我的片段碼:在jQuery中刪除字符串中的第一個字符在dom中重複

<html> 
 
    <head> 
 
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script> 
 
    <body> 
 
     <div class="removi">,$12547000</div> 
 
     <div class="removi">,$24580000</div> 
 
     <div class="removi">,$78504000</div> 
 
     <script> 
 
     $('.removi').text(function (_,txt) { 
 
      return txt.slice(1); 
 
     }); 
 

 
     </script> 
 
    </body> 
 
    </head> 
 
</html>

+0

你的問題不清楚!你能否廣泛地解釋一下。 – Kirk

+0

你是說你通過Ajax更新頁面,並且你希望僅將切片應用於剛添加的項目,而不是應用於之前Ajax調用的任何先前更新的項目?無論哪種方式,請[編輯]您的問題,以清楚如何更新頁面。 – nnnnnn

+0

@nnnnnn我通過ajax更新我的頁面,但每次我更新頁面時都會運行切片功能。我只想運行一次 – inaz

回答

0

只需添加一個簡單的布爾標誌,然後檢查代碼已經執行:

<html> 
 
    <head> 
 
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script> 
 
    <body> 
 
     <div class="removi">,$12547000</div> 
 
     <div class="removi">,$24580000</div> 
 
     <div class="removi">,$78504000</div> 
 
     <script> 
 
      if (window._removedAlready !== true) { 
 
      $('.removi').text(function (_,txt) { 
 
       return txt.slice(1); 
 
      }); 
 
      window._removedAlready = true; 
 
      } 
 
     </script> 
 
    </body> 
 
    </head> 
 
</html>

請記住,污染window命名空間不是一個好主意。使用主頁面中的任何布爾變量,但不能在您的ajax內容中使用。

+0

該代碼對我不起作用,並且當我重新加載第二頁時,它再次切片2次。通過使用任何布爾變量,你的意思是什麼? – inaz

+0

@inaz嗯,你如何加載這段代碼?我不完全確定。 –