我覺得我有這個權利,但由于某種原因,addEventListener 沒有按我想要的方式運行。當我嘗試更改下面的 img.src 時,它仍然只顯示 'images/expand.jpeg' img。我已經確認影像的路徑是正確的,因為當我將按鈕的原始 src 更改為“images/collapse.png”時,它確實顯示了“images/collapse.png”。
document.querySelectorAll('.title').forEach(function(){
let button = document.createElement('img');
button.classList.add('smallbutton');
button.src = "images/expand.jpeg";
eachTitleDiv.append(button);
button.addEventListener('click', function(){
if (button.src === "images/expand.jpeg") {
button.src = "images/collapse.png";
} else if (button.src === "images/collapse.png") {
button.src = "images/expand.jpeg";
};
});
});
uj5u.com熱心網友回復:
相對 src 屬性計算為 DOM 中的絕對 URL
- 當您訪問該
src屬性時,它是計算的 DOM 值,并且您的相對鏈接正在計算到絕對鏈接。(https://yourwebsite.com/images/expand.jpeg === "images/expand.jpeg")回傳假 - 總是
alt在你的影像上有一個,比如在這種情況下,它們沒有加載,因為視力受損,搜索引擎優化有很多原因!
這是一個作業片段,其中alt用于檢查狀態而不是src:
document.querySelectorAll('.title').forEach(function(eachTitleDiv){
let button = document.createElement('img');
button.classList.add('smallbutton');
button.src = "images/expand.jpeg";
button.alt = "expand"
eachTitleDiv.append(button);
button.addEventListener('click', (e) => {
if (button.alt === "expand") {
button.src = "images/collapse.png";
button.alt = "collapse"
} else if (button.alt === "collapse") {
button.src = "images/expand.jpeg";
button.alt = "expand"
};
});
});
<h1 class="title">Title 1</h1>
<h2 class="title">Title 2</h2>
<p>Not a title</p>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/455012.html
標籤:javascript 源代码
