簡體   English   中英

jQuery和HTML忽略引號

[英]JQuery and Html ignore quotes

我正在用JS和html進行編程,無法向用戶顯示包含雙引號的字符串。 我有字符串,用戶可以通過添加自由文本來對其進行編輯。 我需要允許我的用途輸入諸如= Hello“ some text” bye這樣的字符串。 稍后,由用戶編輯的文本塊將保存到我的數據庫中。 快速檢查后,我發現該字符串已正確保存。 以后,我必須向用戶顯示這些文本塊。 當我將該列表發回(到客戶端)時,我的對象又正確了,又包含了所有已編輯的字符串(例如-某些文本為“其他文本”)。 稍后,我嘗試通過將每一行推到html來在html中顯示此文本:

htmlID.push('<input type=text value="'+MyString+'">')

但不幸的是,我只得到了引號內沒有的字符串部分,也就是,由於引號,HTML跳過了一些文本和“其他文本”。(所有引號內的文本都被跳過了,並且引號自己也是。)

我認為我需要對每個字符串運行,檢查indexOf引號,如果是這樣,請用其他值(例如“””或“””)替換它們,但不幸的是我無法獲得任何結果。

我很樂意提供幫助,謝謝

您需要用其HTML實體替換字符串中的所有"實例: &quot;

 var MyString = 'Hello "some text" bye'.replace(/"/g, '&quot;'); $('#container').append('<input type="text" value="' + MyString + '">'); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="container"></div> 

如果您創建如下所示的DOM元素,則引號不會有任何問題。

var input = document.createElement('input');
input.setAttribute('type','text');
input.setAttribute('value',MyString);

htmlID.push(input.outerHTML);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM