在jQuery中删除字符串中的第一个字符在dom中重复
问题描述:
我在我的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>
答
只需添加一个简单的布尔标志,然后检查代码已经执行:
<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嗯,你如何加载这段代码?我不完全确定。 –
你的问题不清楚!你能否广泛地解释一下。 – Kirk
你是说你通过Ajax更新页面,并且你希望仅将切片应用于刚添加的项目,而不是应用于之前Ajax调用的任何先前更新的项目?无论哪种方式,请[编辑]您的问题,以清楚如何更新页面。 – nnnnnn
@nnnnnn我通过ajax更新我的页面,但每次我更新页面时都会运行切片功能。我只想运行一次 – inaz