亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為動態創建的鏈接 JS 設置一個 .active 類

為動態創建的鏈接 JS 設置一個 .active 類

白板的微信 2023-05-11 14:33:03
幾周前我構建了一個導航欄,然后才意識到我沒有在上面設置 .active 類?,F在,我在 JS 中動態構建了導航欄和鏈接,現在想為激活的任何一個提供相應的 CSS。這就是我在 JS 中構建導航欄的方式:let womensNav = document.createElement("ul");womensNav.classList.add("womensNav");const el1 = document.createElement("li");el1.innerHTML = "<a>Jeans</a>";el1.addEventListener("click", (e) => {      document.location.href =        "https://www.martadolska.com/product-category/women/womens-jeans";});womensNav.appendChild(el1);document.querySelector(".ast-woocommerce-container").appendChild(womensNav);我有不止一個鏈接,但出于這個目的,我不需要全部顯示。所以現在的目標是構建一個通用函數,為導航欄中的活動元素提供相應的類。document.querySelectorAll("#womensNav li").forEach(function (ele) {      ele.addEventListener("click", function (e) {        e.preventDefault();        document          .querySelectorAll("#womensNav li a.active")          .forEach((ele) => ele.classList.remove("active"));        ele.parentNode.classList.toggle("active");      });    });這就是我的 CSS 的樣子:.womensNav li a:hover {  color: var(--main-text-color);  text-decoration: line-through darkred solid;}.womensNav li a::before {  content: "";  position: absolute;  width: 100%;  height: 2px;  bottom: 7px;  left: 0;  background-color: #b22222;  visibility: hidden;  transform: scaleX(0);  transition: all 0.3s ease-in-out 0s;}.womensNav li a:hover::before {  visibility: visible;  transform: scaleX(1);}.womensNav li a:active::before {  content: "";  position: absolute;  width: 100%;  height: 2px;  bottom: 10px;  left: 0;  background-color: #b22222;}// up until this point everything works.active {  text-decoration: line-through darkred solid;}我猜 JS 代碼的第二個片段中缺少/不完全正確,因為當我的鏈接處于活動狀態時什么也沒有發生。我得到了我想要得到的動畫,但是一旦用戶被重定向到那個特定的鏈接,它就會消失,所以你不知道你在哪個子頁面上。
查看完整描述

1 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

這是錯誤的

ele.parentNode.classList.toggle("active");

“ele”是<li>,您正在通過 parentNode 添加“active”類<ul>,最好使用單擊中的“e”事件并使用 e.target,然后嘗試在 上設置活動類<a>或使用childNode/children 獲取你的<a>


查看完整回答
反對 回復 2023-05-11
  • 1 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號