仅选择其中包含数字的值属性

时间:2018-02-17 09:51:47

标签: javascript jquery html

我有很多分别带有type textnumber的输入标签。我想将所有具有数字值的input type text替换为input type number,但不知道如何仅使用值中的数字。我正在使用下面的代码来完成它。

$( "[value*='']").attr('type','number');

2 个答案:

答案 0 :(得分:2)

您可以尝试.filter并使用isNaN检查值是否为数字

$(document).ready(function() {
  $("input[type='text']").filter(function() {
    return !isNaN( $(this).val() ) && $(this).val().trim() !== "";
  }).attr("type", "number");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" value="Javascript">
<input type="text" value="Apple">
<input type="text" value="1">
<input type="text" value="3">
<input type="text" value="1000">
<input type="text" value="">

答案 1 :(得分:0)

也许迭代和检查会这样做:

for(const el of $("[value*='']").toArray())
  if(parseInt(el.value))
    $(el).attr('type','number');