麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

JS實現HTML標簽轉義及反轉義

2019-11-19 18:08:13
字體:
來源:轉載
供稿:網友

簡單說一下業務場景,前臺用戶通過input輸入內容,在離開焦點時,將內容在div中顯示。

這時遇到一個問題,如果用戶輸入了html標簽,則在div顯示中,標簽被解析。

由于是純前端操作,不涉及后端,因此需要通過js對輸入內容進行轉義。

這里提供一個非常簡單有效的轉義方案,利用了innerHTMLinnerText

注:火狐不支持innerText,需要使用 textContent 屬性,而IE早期版本不支持此屬性,為了同時兼容IE及火狐,需要進行判斷操作.

因為innerText(textContent)會獲取純文本內容,忽略html節點標簽,而innerHTML會顯示標簽內容,

所以我們先將需轉義的內容賦值給innerText(textContent),再獲取它的innerHTML屬性,這時獲取到的就是轉義后文本內容。

代碼如下:

function HTMLEncode(html) { var temp = document.createElement("div"); (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html); var output = temp.innerHTML; temp = null; return output;}var tagText = "<p><b>123&456</b></p>";console.log(HTMLEncode(tagText));//<p><b>123&456</b></p> 

通過測試結果,可以看到html標簽及&符都被轉義后保存。

同理,反轉義的方法為先將轉義文本賦值給innerHTML,然后通過innerText(textContent)獲取轉義前的文本內容

function HTMLDecode(text) {  var temp = document.createElement("div");  temp.innerHTML = text;  var output = temp.innerText || temp.textContent;  temp = null;  return output; } var tagText = "<p><b>123&456</b></p>";var encodeText = HTMLEncode(tagText);console.log(encodeText);//<p><b>123&456</b></p>console.log(HTMLDecode(encodeText)); //<p><b>123&456</b></p> 

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人三区四区 | 久久精品视频7 | 激情综合在线 | 十级毛片 | 毛片国产| 99riav视频一区二区 | 久久精品视频在线免费观看 | 成人三级电影在线 | 国产成人自拍视频在线 | 成人午夜免费福利 | 国产女厕一区二区三区在线视 | 久久综合久久美利坚合众国 | 日本在线视频免费观看 | 激情小说色 | 精品成人国产在线观看男人呻吟 | 亚洲aⅴ免费在线观看 | 在线播放免费人成毛片乱码 | 国产色91 | 男女羞羞视频在线免费观看 | 国产高潮国产高潮久久久91 | 免费毛片电影 | 亚洲第一成网站 | 在线观看美女av | 国产精品久久久久久久不卡 | hd日本xxxx| 国产毛片在线看 | 国产精品视频yy9299一区 | 久久久久久久久久网 | 久久在现视频 | 污污的视频在线观看 | 国产一有一级毛片视频 | 激情视频在线播放 | 久久午夜神器 | 国产91一区二区三区 | 国产色片在线观看 | 久久久久久久一区二区三区 | 久久一本日日摸夜夜添 | 欧美精品成人一区二区三区四区 | 在线成人影视 | 一级免费黄色免费片 | 久久精品视频16 |