我有一個顯示超過 10,000 行文本的段落,并希望 onclick 從顯示中洗掉所有這些文本而不隱藏它們所顯示的段落(即,通過將 span style="display:block" 更改為“單獨洗掉每一行文本”顯示:無”)。我在 <p> 中有其他我不想隱藏的元素,只有跨度。
我可以一行一行地做,但這對于所涉及的行數來說是不可行的。有沒有更快的方法來做到這一點?
function uncheckAll() {
document.getElementById("Box1").style.display = "none";
document.getElementById("Box2").style.display = "none";
document.getElementById("Box3").style.display = "none";
document.getElementById("Box4").style.display = "none";
document.getElementById("Box5").style.display = "none";
}
<body>
<p id="main" style="display:block" contenteditable="true">
<span id="Box1" style="display:block">text 1.</span>
<span id="Box2" style="display:block">text 2.</span>
<span id="Box3" style="display:block">text 3.</span>
<span id="Box4" style="display:block">text 4.</span>
<span id="Box5" style="display:block">etc.....</span>
</p>
<button style="height:50%;width:10%" onClick="uncheckAll()">Clear</button>
</body>
uj5u.com熱心網友回復:
你可以試試這個
const uncheckAll = () => {
var elements = document.querySelectorAll('#main span');
for (var i = 0; i < elements.length; i ) {
elements[i].style.display = "none";
}
};
#main span {
display: block;
}
<p id="main" style="display:block" contenteditable="true">
<span id="Box1">text 1.</span>
<span id="Box2">text 2.</span>
<span id="Box3">text 3.</span>
<span id="Box4">text 4.</span>
<span id="Box5">etc.....</span>
</p>
<button style="height:50%;width:10%" onClick="uncheckAll()">Clear</button>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/357517.html
標籤:javascript html
