为了账号安全,请及时绑定邮箱和手机立即绑定
关注
lf1024

这个代码哪里出了问题?

http://img2.sycdn.imooc.com/5d8423bc0001500a05980465.jpg求解求解。。。。

2019-09-20 源自:JavaScript进阶篇 7-2 455 浏览 3 回答

首先,你是想把数据输出在<input>标签里,所以你按了没反应。你可以把innerHTML改成value,或者在数据不要输出在<input>标签里,另外新建个可以被innerHTML输出的标签,譬如<p>、<div>之类的。

2019-09-20
回复 0

lf1024 (提问者)

为什么<input>标签不是可以被innerHTML输出的标签??
#1 2019-09-20 回复

sdarks 回复 lf1024

innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。而<input>没有结束标签,如果想更改<input>标签里的文本的话,可以更改<input>标签里的<value>属性内容。
#2 2019-09-20 回复

你知识有盲区,你首先应该搞懂 innerHTML的应用场景是什么,说白了就是能怎么去合理的用它,  你这样用明显就不合理.. 你从innerHTML字面意思都可以看出来  它是用来创建HTML标签的..  我请问你标签里面可以再创建另外一个标签吗?  你是想这样写吗?  <input value='<p></p>'>

你还要弄清楚的就是  什么是单标签,什么是闭合标签..

像这种单标签里面,都没有套标签的概念,只有像<div></div><p></p><span></span>这种成双成对的这种才能用到innerHTML在里面去生成标签

类似于:<div id='box'></div>

document.getELementById( 'box' ).innerHTML = '<span>123</span>'

此时上面那个<div>,  就变成了<div id='box'><span>123</span></div>这种


然而再看看你的写法   我都不知道你到底要把http://img1.sycdn.imooc.com/5d8439df00012d7e00750042.jpg放到input  哪个位置 你是真的想,你如果硬是想这样,我建议你写document.getELementById( 'aaa' ).value = b+c+d

2019-09-20
回复 0

lf1024 (提问者)

我改为:document.getELementById( 'aaa' ).value = b+c+d之后,点击那个按钮,出现NaN??????
#1 2019-09-20 回复

weixin_阳锅锅_0 回复 lf1024

b+c+d 你不要这样写, 你直接写成 var time = a.getDate()+a.setFullYear+a.getYear() 然后再 document.getELementById( 'aaa' ).value = time
#2 2019-09-20 回复

遮天丶 回复 weixin_阳锅锅_0

建议你教别人的时候自己好好去查好做足功课好吗,懒得去查,就不要随便评论别人,这个问题是因为b+c+d错了吗?写成你那样子同样还是NaN
#3 3天前 回复

http://img2.sycdn.imooc.com/5ed4d0910001d99f04280517.jpg

http://img4.sycdn.imooc.com/5ed4d091000141cd05940699.jpg

我参照你的做了下,可以给每个都打个log就可以看出问题,问题出在var c = setFullYear();中,

setFullYear()的意思是设置年份,它可以带三个参数(year,month,day)这里你默认设置了空,以至于a引用没有了指向,所以a变成了NaN自然其它方法获取回来的也变成了NaN。

https://www.w3school.com.cn/jsref/jsref_obj_date.asp

我是参照这里讲的,可能有出入对象的引用这方面不是很懂,也可以多查查


3天前
回复 0

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信