今天在练习ajax的时候想要替换下按钮,但是他只会在按钮的内部添加标签但是不会将按钮整体替换,解决方法是在按钮的标签外部在添加一个标签,然后替换外部的标签,我想问一下为什么他不能替换本身呢?还是说这里的innerHTML代表的是按钮的内容
```javascript
<body>
<button id = 'btn'>lalal</button>
<script>
var btn = document.querySelector('#btn')
btn.onclick = function aa(){
btn.innerHTML = '<div>'+'sasa'+'<div>'
}
</script>
</body>
```
innerhrml本身就是改的当前元素下的html 人家不支持改自身,建议看下文档
innerHTML是改变内部的HTML,也许你可以试下outerHTML😂
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
<style></style>
</head>
<body>
<button id="btn">lalal</button>
<script>
// var btn = document.querySelector("#btn");
// btn.onclick = function aa() {
// btn.innerHTML = "<div>" + "sasa" + "<div>";
// };
// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/innerHTML
// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/outerHTML
var btn = document.querySelector("#btn");
btn.onclick = function () { // 这里可以不加函数名aa
btn.outerHTML = "<div>sasa</div>"; // 这里最后的div标签应该是闭合的<</div>>
};
</script>
</body>
</html>
btn 调用 当然就是 btn的内容,谁调用 就是 谁的。
你想改变其它元素的,就获取 其他元素 然后 .innerHtml即可