我有几个这样的按钮:
<button class="my-btn" id="1"></button>
<button class="my-btn" id="2">100</button>
<button class="my-btn" id="3"></button>
<button class="my-btn" id="4">200</button>
<button class="my-btn" id="5"></button>
在页面加载时,我需要找到没有文本(数字)的所有按钮并插入0
。我已经尝试过几种版本,但是没有运气:
$(document).ready(function() {
if ($('.my-btn').text() == '') {
$('.my-btn').text('0');
}
});
答案 0 :(得分:3)
当前逻辑的问题是,您当前正在从所有text()
元素中获取.my-btn
,因此$('.my-btn').text()
返回100200
且与{ {1}}。
要解决此问题,您需要单独遍历所有元素。您可以通过向''
提供一个函数来执行隐式循环,以检查当前值是什么,并返回更新后的值应该是什么。试试这个:
text()
$(document).ready(function() {
$('.my-btn').text(function(i, t) {
return t.trim() || '0';
});
});
答案 1 :(得分:0)
您将需要遍历所有按钮,而我正在执行每个循环。
$(document).ready(function() {
$('.my-btn').each(function(){
if ($(this).text() == '') {
$(this).text('0');
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="my-btn" id="1"></button>
<button class="my-btn" id="2">100</button>
<button class="my-btn" id="3"></button>
<button class="my-btn" id="4">200</button>
<button class="my-btn" id="5"></button>
答案 2 :(得分:0)