【发布时间】:2021-11-28 17:52:55
【问题描述】:
我想根据同一元素的属性设置一个条件类,这样我就可以保持干爽。起初我得到了这个:
<div class="hidden md:flex items-center space-x-3">
<a href="#Index" class="navBarLink {currentPageName == 'Index' ? 'activeLink' : ''}">Farm</a>
<a href="#/Leaderboard" class="navBarLink {currentPageName == 'Leaderboard' ? 'activeLink' : ''}">LeaderBoard</a>
<a href="#/WafBox" class="navBarLink {currentPageName == 'WafBox' ? 'activeLink' : ''}">WafBox</a>
<a href="#/Buy" class="navBarLink {currentPageName == 'Buy' ? 'activeLink' : ''}">Buy</a>
<a href="#/Info" class="navBarLink {currentPageName == 'Info' ? 'activeLink' : ''}">Info</a>
</div>
现在我想要这个:
<div class="hidden md:flex items-center space-x-3">
<a href="#Index" class="navBarLink {isActive(this)}">Farm</a>
<a href="#/Leaderboard" class="navBarLink {isActive(this)}">LeaderBoard</a>
<a href="#/WafBox" class="navBarLink {isActive(this)}">WafBox</a>
<a href="#/Buy" class="navBarLink {isActive(this)}">Buy</a>
<a href="#/Info" class="navBarLink {isActive(this)}">Info</a>
</div>
然后我只需要在我的函数isActive 中检查href 的属性。但是这里this 里面似乎没有正确的信息。有没有办法做到这一点?它会清理我的代码很多
编辑:isActive() 看起来像这样:
<script>
function isActive(element) {
return 'Active' if (currentPageName == element.attr('href'))
}
</script>
【问题讨论】:
-
isActive()函数长什么样?是只检查currentPageName == 'Leaderboard'吗? -
确实看起来像这样 `function isActive(element) { return 'Active' if (currentPageName == element.attr('href')) }` 刚刚更新了我的问题 :)
标签: javascript html css svelte