将元素更改为textarea不起作用

时间:2015-08-10 10:29:08

标签: javascript

我正在尝试将具有以下ID的元素更改为文本区域。

我不太了解js所以这个问题可能真的很愚蠢。

现在实际上并没有改变任何事情。变量中的id是正确的。

有什么想法吗?

<script>
function editComment(id){
    var thisId = "#" + id;
    $(thisId).html("<textarea></textarea>");
}
</script>

1 个答案:

答案 0 :(得分:5)

html仅设置匹配元素的内部 HTML内容。您应该使用replaceWith代替:

$("button").click(function() {
  editComment("comment1");
});

function editComment(id){
  var thisId = "#" + id;
  $(thisId).replaceWith("<textarea></textarea>");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="comment1">Comment</div>
<button>Edit</button>