我有一個頁面下面是使用jQuery來追加一些HTML。 它只是附加的輸入標籤中指定DIV在服務器上運行時顯示代碼而不是字符在jQuery中的html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="../../jquery-1.10.2.min.js" type="text/javascript" xml:space="preserve"></script>
<script type="text/javascript" xml:space="preserve">
var i = 0;
function test(){
var totalQuantity = '<input type="number" name="order' + i + '.totalQuantity" />';
$(".test").append(totalQuantity);
i++;
}
</script>
</head>
<body>
<div class="test"></div>
<input type="button" onclick="test()" value="Add" />
</body>
</html>
當我在服務器中的Tomcat使用Spring運行此,在檢查元素的JavaScript是這樣的:
var totalQuantity = '<input type="number" name="order'+i+ '.totalQuantity" />';
所有( ')字符替換爲代碼(#& 39)。
實際上有什麼問題?爲什麼它不顯示字符(')而是顯示其html代碼?
這是使用彈簧的問題,因爲當我分開(而不是在容器或彈簧框架)打開此HTML文件時,它工作正常。
如果你的javascript是外部的,這可能不會發生。顯然,某種html預處理器正在搞亂你的javascript。它發現了一個html元素,其中包含引號的屬性,所以它相應地修復了它。 –
腳本標記上的'xml:space'屬性是什麼?有沒有可能使用這個來編碼你的Javascript? – Nunners
是的,刪除的XML:空間=「保存」 –