我在我的电子商务网页上的产品详细页面上创建了一个颜色按钮列表。 当我进入页面时,我希望默认选择匹配的颜色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函数,但都失败了。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您可以使用
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;}