【发布时间】:2017-11-23 12:03:21
【问题描述】:
我正在尝试使用 javascript / jquery 测试元素中的内容类型,但是每当我从元素中获取内容时,它总是作为字符串返回:
$('.test').each(function() {
console.log(
this.innerHTML.trim(),
typeof this.innerHTML,
typeof $(this).text(),
$.type(this.innerHTML.trim()),
Number.isInteger(Number(this.innerHTML.trim()))
);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">
1234
</div>
<div class="test">
22.54
</div>
<div class="test">
2test
</div>
有没有办法在不使用typeof 的情况下测试类型,这样我就可以解析数字,以便正确地对它们进行排序,而不是将它们排序为字符串
【问题讨论】:
-
你需要
Number.isInteger(Number(this.innerHTML.trim()))。 -
您是只检查整数类型还是还包括其他类型的值?
-
@Lalit 我需要检查浮点数、整数和字符串并进行相应的解析,以便排序正常工作
-
排序时为什么要区分整数和浮点数?
-
@Xufox 如果我将浮点数解析为整数,它会正确解析吗?如果不是,那么排序将不起作用?
标签: javascript jquery typeof