有人可以告诉我document.getElementById是否将该元素作为字符串获取?我正在创建一个变量,然后尝试将它与某些范围进行比较,但它不起作用。
google.setOnLoadCallback(queryValue3);
function queryValue3 () {
var query3 = new google.visualization.Query('https://spreadsheets.google.com/spreadsheet/tq?range=B2:B17&key=0Ai_2YLvaQba0dFlQQnU2ZWV1SFp2QUZMcHVfcnVQcFE&gid=10');
query3.send(function (response) {
if (response.isError()) {
alert('Error in query3: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var data3 = response.getDataTable();
var m1 = data3.getValue(0, 0);
var red22 = "<span style='color:#ff0000'>" + a22 + "</span>";
var yellow22 = "<span style='color:#FF9900'>" + a22 + "</span>";
var green22 = "<span style='color:#009900'>" + a22 + "</span>";
if (m1 <= 70)
{
m1 = green22;
}
else if (71 === m1 && m1 <= 89)
{
m1 = yellow22;
}
else if (m1 >=90)
{
m1 = red22;
}
console.log ("m1= " +m1)
document.getElementById('m1').innerHTML = m1;
console.log ("m1= "+m1)
});
}
...谢谢
编辑2014年3月24日 - 在这篇文章的交流后不久,我得到了这个东西来处理16个指标。上周我把它扔到了GitHub上。你会找到code here。希望这将有助于其他人想要使用Google Spreadsheets作为网络计量器的数据源。
答案 0 :(得分:5)
getElementById
方法返回对DOM对象的引用,而不是字符串。
但是,我不认为这是你的问题。在比较中,您尝试使用不存在的=<
运算符。
此外,您在代码中做了一些令人困惑的事情。您正在创建字符串red22
,yellow22
和green22
,然后使用m1
中的值替换其中一个,此处未定义。然后,您将从ID为innerHTML
的元素中获取m1
,但您不会对其执行任何操作。看起来你想以某种方式将字符串和元素一起使用,但是然后你就完全倒退了。
答案 1 :(得分:0)
不是(documentation),如果该ID不存在,它将返回DOM element或null
。
但是你要调用.innerHTML
来返回一个字符串。这是你问题的根源吗?
答案 2 :(得分:0)
方法document.getElementById()
返回DOM Element
,而不是字符串。
点击上面的链接,他们将您带到W3C推荐标准。
以下是MDN对此的评价: https://developer.mozilla.org/en-US/docs/DOM/document.getElementById https://developer.mozilla.org/en-US/docs/DOM/element
基本上,您将获得浏览器本身定义的基础本机DOM对象。 “本机DOM对象”的作用以及它实现的接口取决于具体情况,必须在W3C或MDN中查找。