如何更改完整可折叠 ul(Materialize,Html,Javascript,Css)的颜色?

Posted

技术标签:

【中文标题】如何更改完整可折叠 ul(Materialize,Html,Javascript,Css)的颜色?【英文标题】:How to change the color of a full collapsible-ul(Materialize,Html,Javascript,Css)? 【发布时间】:2021-11-13 13:49:03 【问题描述】:

我有 2 个可折叠列表和 2 个按钮,如果我点击第一个按钮,第二个 <ul> 的所有标题的颜色应该会改变(例如绿色),如果我点击第二个按钮的颜色第二个<ul> 中的所有实体都应该改变(例如黑色)。

我正在寻找 javascript 中的解决方案(也可以使用 jQuery)。问题是我是所有这一切的新手,不知道如何解决这个任务。感谢您的每一次帮助。

我的代码

 <ul class="collapsible" id="1">
    <li>
      <div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div>
      <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
    <li>
      <div class="collapsible-header"><i class="material-icons">place</i>Second</div>
      <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
    <li>
      <div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div>
      <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
  </ul>

 <ul class="collapsible" id="2">
    <li>
      <div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div>
      <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
    <li>
      <div class="collapsible-header"><i class="material-icons">place</i>Second</div>
      <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
    <li>
      <div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div>
      <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
  </ul>
<button class="btn yellow" id="collapsible-header-green">Change collor of all headers ul(id="2")</button>
<button class="btn yellow" id="collapsible-body-green"> Change collor of all bodys ul(id="2")</button>

【问题讨论】:

【参考方案1】:

在按钮上单击添加或删除 css 类:

$('#collapsible-header-green').on('click', function() 
    if($('#2 .red-header').length > 0) 
        $('#2 .collapsible-header').removeClass('red-header');
     else 
        $('#2 .collapsible-header').addClass('red-header');
                   
);
          
$('#collapsible-body-green').on('click', function() 
    if($('#2 .green-body').length > 0) 
        $('#2 .collapsible-body').removeClass('green-body');
     else 
        $('#2 .collapsible-body').addClass('green-body');
    
);

<style>
  .red-header 
    color: red;
  
  
  .green-body 
    color: green;
  
</style>

【讨论】:

感谢您的帮助,但这次更改只是文本的颜色,您知道如何更改标题/正文的背景吗? background-color? 这不起作用 像这样:dojo.telerik.com/UzakORat 是的,我已经以与链接中相同的方式进行了尝试,但它不起作用。看来物化是个问题。

以上是关于如何更改完整可折叠 ul(Materialize,Html,Javascript,Css)的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改折叠导航栏中项目的对齐方式?

当父母在Android中折叠时如何更改可扩展列表视图子项的视图?

AngularJs ul 使用幻灯片动画展开/折叠

悬停时可折叠图标/内容颜色更改

如何在Vimdiff中展开/折叠差异部分?

如何使 HTML 可折叠按钮默认为展开?