至尊寶的傳說
2021-12-12 09:36:02
請原諒我的愚蠢問題,我是初學者:/出于某種原因,由于 Wordpress 上的某些 Divi 主題,我無法使用 Jquery。我需要將 CSS 類更改為某些鏈接,以便它們在選擇時更改顏色(這些鏈接顯示不同的 div 內容)我試過這個:function linkcolor() { document.getElementById(arguments[0]).className='serveminus'; for(var i=1; i< arguments.length-1; i++) { document.getElementById(arguments[i]).className='serve'; } }當我調用該函數時,我會將錨點的 ID 添加為參數。第一個將顯示為“已選擇”(服務負),而另一個將顯示為灰色(服務)。不知何故,我已經完成了這項工作,但我需要有另一個功能:當已經選擇了一個鏈接并且它具有“serveminus”類時,如果再次單擊,該類將變回“serve”。如果我添加以下條件,我猜它會產生一個無意義的循環...... if (document.getElementById(arguments[0]).className='serveminus') { document.getElementById(idlink).className='serve'; } else {
2 回答

開滿天機
TA貢獻1786條經驗 獲得超13個贊
聽起來你需要設置一個 onClick 事件監聽器:https : //developer.mozilla.org/en-US/docs/Web/API/EventListener
偽代碼可能是:
if link is clicked and link is selected
set event listener on link
onClick change class to 'serve'
remove event listener

搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
聽起來您需要一個可以切換類的 eventListener,我首先將要將此樣式應用于變量的所有鏈接都包含在內。并應用下面的代碼塊。
var linkArray = doucument.querySelectorAll('navigationLinks');
// Example-> var linkArray = document.querySelectorAll('nav ul li a');
for(var i = 0; i < linkArray.length; i++) {
linkArray[i].addEventListener("click", e => {
e.target.classList.toggle('classToToggle');
})
}
添加回答
舉報
0/150
提交
取消