JavaScript document.getElementById().innerHTML = "" 不工作
JavaScript document.getElementById().innerHTML = "" not working
我想清除 <div>
中的内容,但如果我 运行 代码不起作用。 JS 的新手,希望知道它是如何工作的人的帮助!
原样编码:
<html>
<head>
<!-- Javascript -->
<script type="text/javascript">
//UpdatesPlayerRoster
function refreshRoster(){
document.getElementById('roster').innerHTML = "";
}
</script>
</head>
<body>
<div id=bodyContainer class="bodyContainer">
<div id=playerListContainer class="playerListContainer">
<div id=playerListHeader class="playerListHeader"><span class="playerListHeaderText">Players</span></div>
<div id=playerListBody class="playerListBody">
<table>
<div id=roster>
<tr><td>CONTENT TO BE CLEARED</td></tr>
</div>
</table>
</div>
<a href="#" onClick = "refreshRoster()">Refresh</a>
</div>
</body>
您的HTML无效。使用 a validator.
您不能将 <div>
元素作为 <table>
的子元素。
您的浏览器很可能通过移动 <div>
执行错误恢复,因此它出现在 table 之后 并离开 <tr>
在后面。它没有任何内容可以开始,所以当你用JS清空它时,没有任何区别。
使用 <tbody>
而不是 <div>
。
在这里,试试这个:
<html>
<head>
<!-- Javascript -->
<script type="text/javascript">
//UpdatesPlayerRoster
function refreshRoster(){
document.getElementById('roster').innerHTML = "";
}
</script>
</head>
<body>
<div id="bodyContainer" class="bodyContainer">
<div id="playerListContainer" class="playerListContainer">
<div id="playerListHeader" class="playerListHeader"><span class="playerListHeaderText">Players</span></div>
<div id="playerListBody" class="playerListBody">
<div id="roster">
<table>
<tr><td>CONTENT TO BE CLEARED</td></tr>
</table>
</div>
</div>
<a href="#" onClick = "refreshRoster()">Refresh</a>
</div>
</body>
您需要 <table>
元素位于 div 内部才能正常工作,因为浏览器会自行更正此问题。如果您通过检查元素查看页面,您会看到浏览器已将 table 移出 div,这就是您的代码未清除任何内容的原因。
或者,如其他答案所述,您可以使用 <tbody>
而不是 <div>
。
我想清除 <div>
中的内容,但如果我 运行 代码不起作用。 JS 的新手,希望知道它是如何工作的人的帮助!
原样编码:
<html>
<head>
<!-- Javascript -->
<script type="text/javascript">
//UpdatesPlayerRoster
function refreshRoster(){
document.getElementById('roster').innerHTML = "";
}
</script>
</head>
<body>
<div id=bodyContainer class="bodyContainer">
<div id=playerListContainer class="playerListContainer">
<div id=playerListHeader class="playerListHeader"><span class="playerListHeaderText">Players</span></div>
<div id=playerListBody class="playerListBody">
<table>
<div id=roster>
<tr><td>CONTENT TO BE CLEARED</td></tr>
</div>
</table>
</div>
<a href="#" onClick = "refreshRoster()">Refresh</a>
</div>
</body>
您的HTML无效。使用 a validator.
您不能将 <div>
元素作为 <table>
的子元素。
您的浏览器很可能通过移动 <div>
执行错误恢复,因此它出现在 table 之后 并离开 <tr>
在后面。它没有任何内容可以开始,所以当你用JS清空它时,没有任何区别。
使用 <tbody>
而不是 <div>
。
在这里,试试这个:
<html>
<head>
<!-- Javascript -->
<script type="text/javascript">
//UpdatesPlayerRoster
function refreshRoster(){
document.getElementById('roster').innerHTML = "";
}
</script>
</head>
<body>
<div id="bodyContainer" class="bodyContainer">
<div id="playerListContainer" class="playerListContainer">
<div id="playerListHeader" class="playerListHeader"><span class="playerListHeaderText">Players</span></div>
<div id="playerListBody" class="playerListBody">
<div id="roster">
<table>
<tr><td>CONTENT TO BE CLEARED</td></tr>
</table>
</div>
</div>
<a href="#" onClick = "refreshRoster()">Refresh</a>
</div>
</body>
您需要 <table>
元素位于 div 内部才能正常工作,因为浏览器会自行更正此问题。如果您通过检查元素查看页面,您会看到浏览器已将 table 移出 div,这就是您的代码未清除任何内容的原因。
或者,如其他答案所述,您可以使用 <tbody>
而不是 <div>
。