javascript字符串拼接问题?

发布于 2022-09-06 20:44:36 字数 652 浏览 22 评论 0

 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

盛装女皇 2022-09-13 20:44:36

document.write(html)就可以解析标签元素

你的呼吸 2022-09-13 20:44:36

Element.innerHTML = html

这样才会把字符串解析为HTML

萌梦深 2022-09-13 20:44:36

这段html字符串输出到页面被浏览器解析成了标签,我测试了ChromeQQ浏览器。

clipboard.png

如果实在不想要被浏览器解析,可以对这段字符串进行转义。

不知所踪 2022-09-13 20:44:36

估计你写成了这样

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>';
Element.innerText = html;

这是错误的。

Element.innerText = html; 会把代码当文本插入,应该用 Element.innerHTML = html;

一场春暖 2022-09-13 20:44:36

为什么不使用es6字符串模板呢,主流浏览器都支持了,草鸡好用

你的笑 2022-09-13 20:44:36

建议使用es6新语法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文