【发布时间】:2019-03-06 20:09:15
【问题描述】:
如果details 标记具有open 属性,则summary 文本将显示“关闭”。
我尝试更改文本:
if (jQuery("details").click().attr("open")) {
jQuery("summary").text("Close");
} else if (jQuery("details").click().attr("")) {
jQuery("summary").text("Show")
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<details class="description" open>
<summary class="">Show</summary>
<p class="">Description text</p>
</details>
【问题讨论】:
-
你必须使用属性吗?为什么不使用 true 和 false 的数据属性? data-open="true" 并像这样读取它的值: data('open');并像这样写: data('open', true);如果你必须使用属性......然后看看这个答案:stackoverflow.com/questions/1318076/…
-
这里根本不需要 Javascript。这可以通过 CSS 实现,并且速度更快。请参阅下面的答案。