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

我不太了解js,因此问题可能在这里真是愚蠢。

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

有什么想法吗?

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

最佳答案

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>

10-01 20:52
查看更多