Javascript 如何将HTML作为字符串传递到文本区域

Javascript 如何将HTML作为字符串传递到文本区域,javascript,jquery,html,Javascript,Jquery,Html,我试图获得一个用户使用属性contenteditable=“true”编辑的表,但我不希望在输出时出现这种情况 所以要输出,我要做的是: $(document).ready(function() { $("#btn").click(function(){ var text = $("#tab").html(); // taking the content var res = text.replace('<td contenteditable="true">','

我试图获得一个用户使用属性
contenteditable=“true”
编辑的表,但我不希望在输出时出现这种情况

所以要输出,我要做的是:

$(document).ready(function() { 
  $("#btn").click(function(){
    var text = $("#tab").html(); // taking the content
    var res = text.replace('<td contenteditable="true">','<td>'); //trying to replace   
    document.getElementById("output").innerHTML = res ; //output data
  });
});
$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
var text=$(“#tab”).html();//获取内容
var res=text.replace(“”,);//正在尝试替换
document.getElementById(“输出”).innerHTML=res;//输出数据
});
});
问题是代码忽略了替换,你知道为什么吗

==== 编辑:

对不起,伙计们,我想我一点也不清楚。唯一的问题是输出,而不是html,我正在将html传递到一个文本区域,以供用户复制,等等

请看下面的代码:

当我进行输出时,我不希望TDs携带可编辑的心房


谢谢

如果正确解释了问题,
.replace()
不是必需的吗?如果要在
td
元素中删除
contenteditable
元素的
contenteditable
属性,可以在设置
textarea
html
元素之前,使用该元素从
td
元素的
html
中删除
contenteditable

textarea{
宽度:400px;
高度:400px;
}

$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
var text=$(“#tab”).clone();
text.find(“td[contenteditable]”。每个(函数(){
$(此).removeAttr(“内容可编辑”)
})
document.getElementById(“输出”).innerHTML=text[0].innerHTML;
});
删除文本;
});
48-50
50-52
52-54
medida1
104厘米
108厘米
112厘米
medida2
106厘米
110厘米
114厘米
medida3
122厘米
126厘米
130厘米
medida4
69厘米
70厘米
71厘米
medida5
38厘米
40厘米
42厘米
显示HTML


如果正确解释问题,则不需要使用
.replace()
?如果要在
td
元素中删除
contenteditable
元素的
contenteditable
属性,可以在设置
textarea
html
元素之前,使用该元素从
td
元素的
html
中删除
contenteditable

textarea{
宽度:400px;
高度:400px;
}

$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
var text=$(“#tab”).clone();
text.find(“td[contenteditable]”。每个(函数(){
$(此).removeAttr(“内容可编辑”)
})
document.getElementById(“输出”).innerHTML=text[0].innerHTML;
});
删除文本;
});
48-50
50-52
52-54
medida1
104厘米
108厘米
112厘米
medida2
106厘米
110厘米
114厘米
medida3
122厘米
126厘米
130厘米
medida4
69厘米
70厘米
71厘米
medida5
38厘米
40厘米
42厘米
显示HTML


您似乎希望从
中删除
contenteditable=true
属性

这不是解决问题的办法。相反,尝试使用jQuery
select by attribute
选择器来定位所需的TD并更改属性:

$('table').find('[contenteditable=true]').attr('contenteditable','false');

您似乎希望从
中删除
contenteditable=true
属性

这不是解决问题的办法。相反,尝试使用jQuery
select by attribute
选择器来定位所需的TD并更改属性:

$('table').find('[contenteditable=true]').attr('contenteditable','false');

尝试使用正则表达式替换字符串

$(document).ready(function() { 
  $("#btn").click(function(){
    var text = $("#tab").html(); // taking the content
    var res = text.replace(/^.*<td.*contenteditable="true".*>$/gm,'<td>'); 
    $("#output").text(res) ; //output data
  });
});
$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
var text=$(“#tab”).html();//获取内容
var res=text.replace(/^.*$/gm',);
$(“#输出”).text(res);//输出数据
});
});
工作演示
尝试使用正则表达式替换字符串

$(document).ready(function() { 
  $("#btn").click(function(){
    var text = $("#tab").html(); // taking the content
    var res = text.replace(/^.*<td.*contenteditable="true".*>$/gm,'<td>'); 
    $("#output").text(res) ; //output data
  });
});
$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
var text=$(“#tab”).html();//获取内容
var res=text.replace(/^.*$/gm',);
$(“#输出”).text(res);//输出数据
});
});
工作演示
.value
而不是
。innerHTML
文本区域元素持有一个值,而不是innerHTML内容,因此
斜视
已发布,请使用
.value
为什么不使用
文档。getElementById(“yourTd”).contentEditable=true而不是执行替换?你说它忽略替换是什么意思?你是说你得到了手术室