Javascript 无法弹出完整文本 var text=$(this.text(); 警报(文本); Afterdata=“”+ "" + "" + "" $(this.parent().html(Afterdata); //$(“.inputtext”).val(文本);

Javascript 无法弹出完整文本 var text=$(this.text(); 警报(文本); Afterdata=“”+ "" + "" + "" $(this.parent().html(Afterdata); //$(“.inputtext”).val(文本);,javascript,javascript-events,Javascript,Javascript Events,这里是我的代码片段,var文本是从span中检索到的数据,比如text=“您好”。基本上,我的代码所做的是,单击span文本字段后,它将转换为一个输入文本字段以及两个按钮,如上图所示,其中文本字段保留span中的文本(“您是怎么做的”)。它应该显示一个输入框,其中预先填充了“how you doing”,但它只填充了“how”,而没有下面的“you doing”部分。奇怪的是,警报函数成功地显示了“您好”,注释的底线也显示了“您好”。然而,最奇怪的是,我的另一个功能就像一个符咒 var text

这里是我的代码片段,var文本是从span中检索到的数据,比如text=“您好”。基本上,我的代码所做的是,单击span文本字段后,它将转换为一个输入文本字段以及两个按钮,如上图所示,其中文本字段保留span中的文本(“您是怎么做的”)。它应该显示一个输入框,其中预先填充了“how you doing”,但它只填充了“how”,而没有下面的“you doing”部分。奇怪的是,警报函数成功地显示了“您好”,注释的底线也显示了“您好”。然而,最奇怪的是,我的另一个功能就像一个符咒

var text = $(this).text();
    alert(text);
    Afterdata = "<div><span><input type=text class=inputtext value="+text+">"+
    "</span>" +
    "<span class=save><input type=button value=Save></span>" +
    "<span class=cancel><input type=button value=Cancel></span></div>"
    $(this).parent().html(Afterdata);
    //$(".inputtext").val(text);
var text=$(this.text();
$(this.parent().html(“+text+”)+
"");

这是同样的想法。唯一的区别是,后一部分中的替换部分位于范围内,而不是输入值。看到区别了吗?我不知道。有什么帮助吗?非常感谢

您生成的html如下所示:

var text = $(this).text();
$(this).parent().html("<span class=sample>"+text+"</span>" +
            "<span><input type=button value=Delete class=delete></span>");
<div><span><input type=text class=inputtext value=how you doing></span>...

查看它的工作情况。

值中添加引号
属性

在任何情况下,添加转义,如果文本包含<>它可以在从属性值移动到节点文本值时停止如果我在值属性中添加引号,它将只显示“how you do”,我正在做的是“how you do”部分需要相应地更改。阿瑟·坎伯卡说,添加引号作为转义:“\”,或使用单引号(撇号-”)。谢谢,但我想我不理解这部分。\“+text.replace(/“/g”,”)+“\”,你能解释一下吗?谢谢,这只是字符串
text
中的任何双引号字符,用于
。这允许您将字符串放入html中,而不会意外地关闭
参数。第一部分和最后一部分(您可以看到:
\”
)添加了双引号,因此最终的html看起来是这样的:
(为了简洁起见,我省略了一些内容)
Afterdata = "<div><span><input type=text class=inputtext value=\"" + text.replace(/"/g, '&quot;') + "\">" + "</span>" + "<span class=save><input type=button value=Save></span>" + "<span class=cancel><input type=button value=Cancel></span></div>"