我正在尝试将具有以下ID的元素更改为文本区域。
我不太了解js所以这个问题可能真的很愚蠢。
现在实际上并没有改变任何事情。变量中的id是正确的。
有什么想法吗?
<script>
function editComment(id){
var thisId = "#" + id;
$(thisId).html("<textarea></textarea>");
}
</script>
答案 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>