![](/img/trans.png)
[英]I'm getting double quotes inside the attributes of single quotes, How can I stop it?
[英]Double and single quotes in JS inside HTML attributes
<!DOCTYPE html>
<html>
<body onload="test();">
<script>
var number=1;
var input='<div><input type="text" <? if('+number+'==1){ ?> size="1" <? } else{ ?> size="100" <? } ?>><div>'+
'<div>'+number+'</div>'+
'<input type="text" <? if(1==1){ ?> size="1" <? } else{ ?> size="100" <? } ?>>';
function test(){
var div = document.getElementById('result');
div.innerHTML = div.innerHTML + input;
}
</script>
<div id="result"></div>
</body>
</html>
有人可以幫我處理上面的代碼嗎? 由於某種原因,我的第一個輸入框的大小為100,甚至應該為1。
您無法在php
訪問JavaScript變量(例如number
)。
如果要使用number
,則需要在JavaScript
以下操作:
<!DOCTYPE html>
<html>
<body onload="test();">
<script>
var number = 1;
var input = '<div><input type="text";';
input += number == 1 ? ' size="1" ' : ' size="100" ';
input += '><div>';
input += '<div>' + number + '</div>';
input += '<input type="text" ';
input += 1 == 1 ? ' size="1" ' : ' size="100" ';
input += '>';
function test() {
var div = document.getElementById('result');
div.innerHTML = div.innerHTML + input;
}
</script>
<div id="result"></div>
</body>
</html>
這是因為php代碼先於js代碼執行。 在執行php時,它嘗試檢查'+ number +'是否為1,但不是。 它是一個字符串。
php代碼在服務器中執行,而js代碼在瀏覽器中執行。 那是巨大的差異。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.