Javascript 将html中的数值读取为字符串
我在这里简化了我的代码,以显示我有一个值,该值被传递到“mydiv1”,它始终是一个数字。我希望能够引用它来执行操作,这取决于它是负的还是正的,但它必须被视为一个字符串。有没有办法把这个值作为一个数字来获取?我看到的所有主题,如parseInt()似乎都与何时指定变量有关,而不是从html获取变量有关Javascript 将html中的数值读取为字符串,javascript,Javascript,我在这里简化了我的代码,以显示我有一个值,该值被传递到“mydiv1”,它始终是一个数字。我希望能够引用它来执行操作,这取决于它是负的还是正的,但它必须被视为一个字符串。有没有办法把这个值作为一个数字来获取?我看到的所有主题,如parseInt()似乎都与何时指定变量有关,而不是从html获取变量有关 <html> <head> <script type="text/javascript"> function myFunction() {
<html>
<head>
<script type="text/javascript">
function myFunction() {
var firstDivContent = document.getElementById('mydiv1');
// var firstDivContent = "23";
if (firstDivContent > 0) {
alert('positive')
}
else if (firstDivContent < 0) {
alert ('negative')
}
}
</script>
</head>
<body onload="myFunction();">
<div id="mydiv1">23</div>
</body>
</html>
函数myFunction(){
var firstDivContent=document.getElementById('mydiv1');
//var firstDivContent=“23”;
如果(firstDivContent>0){
警报('正')
}
else if(firstDivContent<0){
警报('负面')
}
}
23
函数myFunction(){
var firstDivContent=document.getElementById('mydiv1');
firstDivContent=parseFloat(firstDivContent.innerHTML);
如果(firstDivContent>0){
警报('正')
}
else if(firstDivContent<0){
警报('负面')
}
}
23
使用innerHTML
获取div的HTML内容,然后使用parseFloat
将字符串转换为数字
函数myFunction(){
var firstDivContent=document.getElementById('mydiv1');
firstDivContent=parseFloat(firstDivContent.innerHTML);
如果(firstDivContent>0){
警报('正')
}
else if(firstDivContent<0){
警报('负面')
}
}
23
使用
innerHTML
获取div的HTML内容,然后使用parseFloat
将字符串转换为数字 您应该获得元素的innerHTML
。然后可以使用parseInt()
或+yourVar
将字符串转换为数字
var firstDivContent=+(document.getElementById('mydiv1').innerHTML);
如果(firstDivContent>0){
警报('正')
}else if(firstDivContent<0){
警报('负面')
}
23
您应该获得元素的innerHTML
。然后可以使用parseInt()
或+yourVar
将字符串转换为数字
var firstDivContent=+(document.getElementById('mydiv1').innerHTML);
如果(firstDivContent>0){
警报('正')
}else if(firstDivContent<0){
警报('负面')
}
23
我更喜欢使用“+”操作符使对数字的转换更清晰,在这种情况下,您可以测试它:
function myFunction() {
var firstDivContent = document.getElementById('mydiv1');
// var firstDivContent = "23";
if (firstDivContent > 0) {
alert('positive')
}
else if (firstDivContent < 0) {
alert ('negative')
}
}
函数myFunction(){
var firstDivContent=document.getElementById('mydiv1');
//var firstDivContent=“23”;
如果(firstDivContent>0){
警报('正')
}
else if(firstDivContent<0){
警报('负面')
}
}
我更喜欢使用“+”操作符来更清晰地转换为数字,在这种情况下,您可以测试它:
function myFunction() {
var firstDivContent = document.getElementById('mydiv1');
// var firstDivContent = "23";
if (firstDivContent > 0) {
alert('positive')
}
else if (firstDivContent < 0) {
alert ('negative')
}
}
函数myFunction(){
var firstDivContent=document.getElementById('mydiv1');
//var firstDivContent=“23”;
如果(firstDivContent>0){
警报('正')
}
else if(firstDivContent<0){
警报('负面')
}
}
“我看到的所有主题,比如parseInt(),似乎都与何时指定变量有关,而不是从html获取变量有关。”对。您可以从HTML中获取它并对其进行解析(使用parseInt
或一元+
或Number
或parseFloat
…)。例如:var firstDivContent=Number(document.getElementById(“mydiv1”).innerHTML;
document.getElementById
返回整个元素:23
。不只是它的内容。如果元素存在,这将始终是>0
。您现在要做的是获取实际的div elemtn,而不是div标记内的值。您需要做的是调用“parseint()”firstDivContent.innerHTML上的方法“我看到的所有主题,如parseInt()似乎都与指定变量而不是从html获取变量有关。”对。您可以从html获取变量并对其进行解析(使用parseInt
或一元+
或数字或parseFloat
)例如:var firstDivContent=Number(document.getElementById(“mydiv1”).innerHTML;
document.getElementById
返回整个元素:23
。不只是它的内容。如果元素存在,这将始终是>0
。您现在要做的是获取实际的div elemtn,而不是div标记内的值。您需要做的是调用“parseint()”firstDivContent.innerHTMLparseInt上的方法只适用于整数,问题涉及数字,最好使用数字(myVar) form@laurent你是对的,我相应地编辑了我的答案。你应该在这里添加一些类型安全性代码。firstDivContent也可以在这里生成NaN,如果#mydiv1包含垃圾。parseInt只适用于整数,问题涉及数字,最好使用数字(myVar) form@laurent你是对的,我相应地编辑了我的答案。你应该在这里添加一些类型安全代码。如果#mydiv1包含垃圾,firstDivContent也会在这里生成NaN。