为了学习Dojo Toolkit,我正在开发一个秒表应用程序,因此,首先,我需要将小时、分钟、秒和毫秒设置为0。
我试过:
dojo.byId("hours").value = "00";
还尝试:
domAttr.set("hours", 00);
型
在控制台中,将抛出以下错误:
GET http://jobs.jsfiddle.net/random.js?callback=Request.JSONP.request_map.request_0 500 (Internal Server Error) moo-clientcide-1.3.js?jobofferinsidebar:3146
2条答案
按热度按时间ki1q1bka1#
这是因为
value
只在处理表单域时使用,如果要替换DOM节点的实际内容,可以使用innerHTML
或textContent
。例如:或
innerHTML
和textContent
之间的区别在于后者只允许文本内容(如属性所示),而innerHTML
还允许输入HTML。如果您不信任输入,则绝对应该使用textContent
。请注意:您需要将
00
用引号括起来,否则它将被解释为一个数值,这意味着在输出它时将跳过第一个0
。我还更改了您的JSFiddle。
ds97pgxw2#
如果你想插入text(不是HTML),并且不想担心小心转义像
<
这样的问题字符,考虑一下:除了IE8和更低版本之外,这在任何地方都有效,并且与
innerHtml
不同,它应该可以安全地处理有问题的文本,如“a你可以在this page上看到更多关于兼容性的信息。
在控制台中,将引发以下错误:
这个错误涉及到网络通信,而您的代码没有这样做,它可能是虚假的,这是JSFiddle特有的,特别是考虑到文本
jobofferinsidebar
听起来像广告。