我在TD元素中有双引号和单引号。点击那个TD我将TD内部的值传递给函数并创建输入元素 对于单引号,它工作正常,但如果是双引号,它会在双引号后删除字符串。
Have a look at this fiddle,我尝试了逃避和unescape但是也没有用,我也试过替换功能。
$(".table td").click(function(){
var input = createInput($(this).html());
$(this).html(input);
});
createInput = function(str){
str = typeof str !== 'undefined' ? str : "";
input = '<input value="'+str+'">';
return input;
}
答案 0 :(得分:1)
$(".table td").click(function() {
var input = createInput($(this).html());
$(this).html(input);
});
createInput = function(st){
st = typeof st !== 'undefined' ? st : "";
input = $('<input type="text">').val(st);
return input;
}
答案 1 :(得分:1)
选中此http://jsfiddle.net/F68bm/6/
$(".table td").click(function(){
var input = createInput($(this).html());
$(this).html(input);
});
createInput = function(str){
//alert(str);
str = typeof str !== 'undefined' ? str : "";
input = '<input value='+str+'>';
return input;
}
你的报价是什么问题,正确的是
input = '<input value='+str+'>'
将其视为3部分
1) < input value=
,这里是静态部分,在HTML中进行评估
2) +str+
这是处理后添加的动态部分。
3) >
,这也是静态部分,放在HTML中,
简单:)
答案 2 :(得分:0)
您可以转义引号以阻止它们过早地结束字符串。
/* javascript */
var str = "My string is \"awesome\".";
console.log(str); //prints: My string is "awesome".
答案 3 :(得分:0)
对于php语言,此 htmlspecialchars 函数可用于在文本框中显示双引号/单引号(“ /')
PHP示例:
<!-- For PHP -->
<input type="text" value="<?=htmlspecialchars('YOUR DOUBLE " /SINGLE ' QUOTES STRING')?>">
对于JS,您可以参考此链接HtmlSpecialChars equivalent in Javascript?