鍍金池/ 問答/C++  HTML/ javascript字符串拼接問題?

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>';

這樣拼接的字符串為什么在頁面中會(huì)以字符方式出現(xiàn)?而并沒有成為可以讓瀏覽器解析的標(biāo)簽元素?

目前用自己的方法已經(jīng)解決,但是不知道原理是怎么回事?
之前: li[length-1].after(fwglPage.uploadText()); //返回的字符
之后: li.eq(length-1).after(fwglPage.uploadText());//返回的html元素

li取到的所有l(wèi)i的集合,fwglPage.uploadText()這個(gè)函數(shù)返回的就是我這段html。

回答
編輯回答
胭脂淚

Element.innerHTML = html

這樣才會(huì)把字符串解析為HTML

2018年3月9日 22:54
編輯回答
卟乖

document.write(html)就可以解析標(biāo)簽元素

2018年7月23日 00:34
編輯回答
歆久

為什么不使用es6字符串模板呢,主流瀏覽器都支持了,草雞好用

2017年7月17日 22:16
編輯回答
何蘇葉

估計(jì)你寫成了這樣

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;

這是錯(cuò)誤的。

Element.innerText = html; 會(huì)把代碼當(dāng)文本插入,應(yīng)該用 Element.innerHTML = html;

2017年6月13日 10:08
編輯回答
疚幼

建議使用es6新語法

2017年9月18日 16:41
編輯回答
網(wǎng)妓

這段html字符串輸出到頁面被瀏覽器解析成了標(biāo)簽,我測試了ChromeQQ瀏覽器。

clipboard.png

如果實(shí)在不想要被瀏覽器解析,可以對(duì)這段字符串進(jìn)行轉(zhuǎn)義。

2017年12月26日 07:14