我有以下HTML标记:
< td class =“summary”id =“nextday”value =“2013/06/21”> NextDay:2013/06/21< / TD>
以及我的JS中的以下内容:
var elem = document.getElementById('nextday');
console.log(elem);
console.log(elem.id);
console.log(elem.value);
在IE中,这看起来效果很好,我得到以下输出:
[对象]
nextday
2013年6月21日
但是当我在safari中运行相同的代码(使用Windows 7 PC)时,我得到以下内容:
< td class="summary" id="nextday" value="2013/06/21"> NextDay: 2013/06/21 < /td>
nextday
未定义
有关为什么它在Safari中的行为与IE中的行为不同的任何建议,以及如果我想支持浏览器并且能够从标记中获取次日值,那么正确的方法应该是什么?感谢。
编辑以反映'nextday'确实被引号包围。
答案 0 :(得分:0)
首先,你的js应该在页面加载后工作。第二件事是你应该改变:
var elem = document.getElementById(nextday);
到
var elem = document.getElementById("nextday");
在其他浏览器中再试一次也应该是类似的结果。