javascript字符串拼接问题?
var html = '<li>' +
'<div>' +
'<i class="fa fa-upload"> 上传</i>' +
'<input type="file" class="upload-file">' +
'</div>' +
'<span class="file-name"></span>' +
'<button class="new-item">提高</button>' +
'</li>';
这样拼接的字符串为什么在页面中会以字符方式出现?而并没有成为可以让浏览器解析的标签元素?
目前用自己的方法已经解决,但是不知道原理是怎么回事?
之前: li[length-1].after(fwglPage.uploadText()); //返回的字符
之后: li.eq(length-1).after(fwglPage.uploadText());//返回的html元素
li取到的所有li的集合,fwglPage.uploadText()这个函数返回的就是我这段html。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
document.write(html)就可以解析标签元素
Element.innerHTML = html
这样才会把字符串解析为
HTML
这段
html
字符串输出到页面被浏览器解析成了标签,我测试了Chrome
和QQ
浏览器。如果实在不想要被浏览器解析,可以对这段字符串进行转义。
估计你写成了这样
这是错误的。
Element.innerText = html;
会把代码当文本插入,应该用Element.innerHTML = html;
为什么不使用es6字符串模板呢,主流浏览器都支持了,草鸡好用
建议使用es6新语法