我試圖循環(huán)瀏覽漸變條帶畫廊,突出顯示它們,以便可以在主圖像中編輯它們,但在單擊它們來測(cè)試它們是否正常工作時(shí)遇到了障礙。它們位于引導(dǎo)行中,如 col-md-3,并且每個(gè)樣本 bg 都有一個(gè) bg-gradient id(行 id 是 gallery)。下面的代碼在懸停時(shí)通過 CSS 激活,但不會(huì)在單擊時(shí)控制臺(tái)記錄測(cè)試消息。html 結(jié)構(gòu)是一個(gè) id 為“gallery”的引導(dǎo)行,然后是 id 為“swatch”的 4 col-md-3,然后實(shí)際的 bg-gradient 就是正在循環(huán)的內(nèi)容。這些在懸停時(shí)通過 css 設(shè)置而不是通過 JavaScript 激活,但不會(huì)在單擊時(shí)控制臺(tái)記錄測(cè)試消息。演示代碼:editSwatch() { let swatchs = document.querySelectorAll('swatch'), //let swatchs = document.getElementById('gallery'), links = swatchs.getElementsByTagName('bg-gradient'), i; for (i = 0; i < links.length; i += 1) { links[i].addEventListener('click', function () { console.log('click works') }); }按照下面的注釋更新了代碼,但結(jié)果仍然完全相同,在鏈接 var 上嘗試了 tagName ,仍然相同。似乎正在找到樣本,但無法點(diǎn)擊。需要點(diǎn)擊一下才能繼續(xù)嗎?https://i.stack.imgur.com/eTyvv.jpg
2 回答

交互式愛情
TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
您不能為樣本保留相同的 ID,您也可以使用下面的查詢選擇器和適當(dāng)?shù)倪x擇器作為參數(shù)并循環(huán)樣本
var swatchs= document.querySelectorAll(".swatchs");

叮當(dāng)貓咪
TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
從技術(shù)onclick
上講需要是一個(gè)函數(shù)。console.log()
目前您正在傳遞我相信的返回值undefined
。需要將函數(shù)附加到click
事件才能使其工作。
您可以addEventListener
按以下方式使用:
links[i].addEventListener('click',?function?()?{?console.log('click?works')?});
click
請(qǐng)參閱如何將事件附加到的工作示例<div>
:
const div = document.getElementById('elem');
div.addEventListener('click', function () { console.log('hey hello'); });
<div id="elem">Click me!</div>
- 2 回答
- 0 關(guān)注
- 109 瀏覽
添加回答
舉報(bào)
0/150
提交
取消