每次加载页面时,选择默认匹配名称的li列表
P粉155128211
P粉155128211 2023-08-13 17:51:12
[CSS3讨论组]

我在我的电子商务网页上的产品详细页面上创建了一个颜色按钮列表。 当我进入页面时,我希望默认选择匹配的颜色li按钮。 每个产品页面上都有一个特定的颜色名称(文本字符串)可供使用。 以下是我的代码摘要。

<div class="color-wrap">
<ul>
  <li class="text"><a href="/link.." class="ivory" ></a></li>
  <li class="text"><a href="/link.." class="beige"></a></li>
  <li class="text selected"><a href="/link.." class="green"></a></li>
  <li class="text"><a href="/link.." class="blue"></a></li>
</ul>
</div>

<style>
.color-wrap {}
.color-wrap li a {}
.color-wrap li.selected a {border-color:red;}
.color-wrap .ivory {#fff;}
.color-wrap .beige {#eee;}
.color-wrap .green {green;}
.color-wrap .blue {blue;}
</style>

我的想法是使用JavaScript来查找/搜索/匹配“a”标签的类名中的颜色名称,并强制将类“selected”添加到li中。 如您所见,按钮名称应该通过其“a”标签而不是“li”标签来识别。 我对编码几乎一无所知。

我查看了所有类似的stackoverflow线程,但找不到解决方案。 请帮帮我:(

到目前为止,我尝试了match,find,filter函数,但都失败了。

P粉155128211
P粉155128211

全部回复(1)
P粉032900484

您可以使用document.querySelector方法通过类名查找元素。

下面的代码假设“特定颜色名称”存储在名为selectedColor的变量中。它还对您的<style>元素进行了一些修正。您可以尝试我的代码与您的代码进行比较,以查看差异。

const selectedColor = "green";
document.querySelector(".color-wrap a." + selectedColor).parentNode.classList.add("selected");
.color-wrap {}
.color-wrap li a {}
.color-wrap li.selected a {border: red 1px solid;}
.color-wrap .ivory {color: #fff;}
.color-wrap .beige {color: #eee;}
.color-wrap .green {color: green;}
.color-wrap .blue {color: blue;}
<div class="color-wrap">
<ul>
  <li class="text"><a href="/link.." class="ivory">Ivory</a></li>
  <li class="text"><a href="/link.." class="beige">Beige</a></li>
  <li class="text"><a href="/link.." class="green">Green</a></li>
  <li class="text"><a href="/link.." class="blue">Blue</a></li>
</ul>
</div>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号