HTML:
<span class="point">8,0</span>
<span class="point">8,0</span>
<span class="point">10,0</span>
<span class="point">8,0</span>
如果点数为10,0
,我想要删除,0
。:
<span class="point">10</span>
我被警告了长度但不起作用。
$('.point').each(function () {
if ($('.point').text().length > 4) {
alert("ok");
}
});
这一切都得到了警觉。
我的问题是什么?我该如何解决?
$('.point').each(function () {
if ($('.point').text().length > 4) {
alert("ok");
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="point">8,0</span>
<span class="point">8,0</span>
<span class="point">10,0</span>
<span class="point">8,0</span>
&#13;
答案 0 :(得分:1)
这取决于是否只有10 ...
$('.point').each(function () {
var textAfterComma = $(this).text().split(",");
if (textAfterComma[0] === '10' && textAfterComma[1] === '0') {
$(this).text(textAfterComma[0]);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="point">8,0</span>
<span class="point">8,0</span>
<span class="point">10,0</span>
<span class="point">8,0</span>
使用JSFiddle:http://jsfiddle.net/bc6jmtt2/1/
如果你想要所有以0结尾的数字只是第一个数字,那么......
$('.point').each(function () {
var textAfterComma = $(this).text().split(",");
if (textAfterComma[1] === '0') {
$(this).text(textAfterComma[0]);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="point">8,0</span>
<span class="point">8,0</span>
<span class="point">10,0</span>
<span class="point">8,0</span>
使用JSFiddle:http://jsfiddle.net/bc6jmtt2/
对于您在问题底部的示例,有两个修复:
首先$('.point')
到$(this)
然后if ($(this).text().length > 4) {
到if ($(this).text().length >= 4) {
或> 3
,因为您的所有字符串都不是> 4
$('.point').each(function () {
if ($(this).text().length >= 4) {
alert("ok");
}
});
使用JSFiddle:http://jsfiddle.net/bc6jmtt2/3/
答案 1 :(得分:1)
由于$('.point').text()
是所有元素中的文字与类.point
的串联,因此您应该使用$(this).text()
。
此外,您的条件应为>=4
或==== "10,0
$('.point:contains("10,0")').text('10');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="point">8,0</span>
<span class="point">8,0</span>
<span class="point">10,0</span>
<span class="point">8,0</span>
答案 2 :(得分:0)
请改用$(this).text()
。使用$(".point").text()
会导致点类的所有文本的连接,如:8,0 8,0 10,0 8,0
所以:
$('.point').each(function () {
if ($(this).text().length > 3) {
alert("OK");
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="point">8,0</span>
<span class="point">8,0</span>
<span class="point">10,0</span>
<span class="point">8,0</span>
&#13;