[英]addEventListener working in console but not working in JS
我有這個圖書館的代碼。 https://jsfiddle.net/j5mxws4n/
我正在使用“閱讀”標志,我想在點擊時添加一個事件以將圖標從刻度線更改為 X。我可以通過谷歌控制台來完成,但是當我在 JS 中執行此操作時,我得到一個null 錯誤,這有點奇怪。
我嘗試這樣做的方式:
document.querySelector('#sign).addEventListener('click', (e)=>{
if(e.target.innerHTML === '✔'){
e.target.innerHTML = 'X'}
else{
e.target.innerHTML = '✔'
})
即使我只是輸入,我也會收到空錯誤:
let sign = document.querySelector('#sign').textContent;
你要這個
https://jsfiddle.net/mplungjan/h43ztr1k/
還要記得preventDefault 否則頁面會跳轉
document.querySelector('#book-list').addEventListener('click', (e)=>{
e.preventDefault();
let tgt = e.target, cls = e.target.classList;
console.log(cls)
if (cls.contains("delete")) tgt.closest("tr").remove()
else if (cls.contains("sign")) {
e.target.textContent = e.target.textContent === "✔" ? "𝗫":"✔";
}
})
//You forgot to add the closing '
document.querySelector('#sign).addEventListener('click', (e)=>{
這一行應該這樣寫
document.querySelector('#sign').addEventListener('click', (e)=>{
document.querySelector('#sign').addEventListener('click', (e)=>{ if(e.target.innerHTML === '✔'){ e.target.innerHTML = 'X'} else{ e.target.innerHTML = '✔' }}) let sign = document.querySelector('#sign').textContent;
<h1>click on check icon </h1> <div id='sign'>✔</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.