用原生js写的一个添加元素,老报错,求指教

就是在input输入东西之后,想展示在会话窗口,老报错,还有就是希望旧的会话在下面,新的会话在上面,这样用appendChild也不行,怎么搞呢... 就是在input输入东西之后,想展示在会话窗口,老报错,还有就是希望旧的会话在下面,新的会话在上面,这样用appendChild也不行,怎么搞呢 展开
 我来答
zwjtk
2018-05-09 · TA获得超过1741个赞
知道小有建树答主
回答量:300
采纳率:82%
帮助的人:211万
展开全部

你好,

简单看了下你的代码,发现问题应该是appendChild参数的问题。估计是受jQuery影响导致的。

这里说明一下,appendChild接收的参数是一个Node,不是一个字符串,这个与jQuery的append方法是有区别的。所以稍微修改下代码:

// 将oShowContent.appendChild(`<ul class="...">...</ul>`)修改为

var oUl = document.createElement('ul');
oUl.className = 'show_things wode';
oUl.innerHTML = `<li class="icon_left"></li><li class="icon_right">说:${InputVal}</li>`;
oShowContent.appendChild(oUl);

这样应该就可以了。希望是你想要的答案,如有疑问可追问。

网海1书生
科技发烧友

2018-05-08 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26231

向TA提问 私信TA
展开全部
用 insertBefore
另外,appendChild里面的参数(也就是要添加的html代码)要写成一行,不要分成多行!!!js会把换行符当作语句的结束!!!如果一定要多行,可以用字符串拼接的方式!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式