gpt4 book ai didi

javascript - JS/HTML ButtonText.InnerHTML 没有响应

转载 作者:行者123 更新时间:2023-12-01 02:04:50 24 4
gpt4 key购买 nike

我遇到了问题。 “显示更多”旁边有一个图标。当按下时它会消失,因为内部文本被覆盖所以我尝试了这个

document.getElementById("toggleButtonPersonal").buttonText.innerHTML = "Show Less <i class="fas fa-caret-up"></i>";

添加此后,单击按钮时没有任何反应。

var status = "less";

function toggleText()


{

if (status == "less") {
document.getElementById("textArea").style.display = "block";
document.getElementById("toggleButton").innerText = "Show Less";
status = "more";
} else if (status == "more") {
document.getElementById("textArea").style.display = "none";
document.getElementById("toggleButton").innerText = "Show More";
status = "less"
}

}
<!DOCTYPE html>
<html>
<head>
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
</head>
<body>

<div id="textArea" style="display: none;">
test
</div>

<button type="button" id="toggleButton" onclick="toggleText();" href="javascript:void(0);">Show More <i class="fas fa-caret-down"></i></button>

<div id="textArea" style="display: none;">

</div
</body>

最佳答案

如果您依赖 HTML 和 CSS 而不是 JavaScript,则只需向容器添加一个类即可实现此目的。

这样,您就可以更改按钮的状态,而不是替换其 innerHTML

const containerElement = document.getElementById("container");

function toggleText() {

if (containerElement.classList.contains('less-mode')) {
containerElement.classList.remove('less-mode');
} else {
containerElement.classList.add('less-mode');
}
}
.more-btn .less {
display: none;
}

.more-btn .more {
display: inline;
}

#textArea {
display: none;
}

.container.less-mode #textArea {
display: block;
}

.container.less-mode .more-btn .less {
display: inline;
}

.container.less-mode .more-btn .more {
display: none;
}
<script src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<div class="container" id="container">
<button type="button" id="toggleButton" class="more-btn" onclick="toggleText();" href="javascript:void(0);">
<span class="more">
See More
<i class="fas fa-caret-down"></i>
</span>
<span class="less">
See Less
<i class="fas fa-caret-up"></i>
</span>

</button>
<div id="textArea">TEST</div>
</div>

关于javascript - JS/HTML ButtonText.InnerHTML 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50199743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com