查找所有没有文本的按钮,并替换为新文本

时间:2019-02-07 20:58:11

标签: javascript jquery html

我有几个这样的按钮:

<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');
  }
});

3 个答案:

答案 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)

您可以使用jQuery.each()来检查所有TextField

MediaQuery
<button>