2016-09-25 70 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嗯,你如何加载这段代码?我不完全确定。 –

相关问题