[英]if statement with img.src
問題:只要我有單個“ =”,該變量就會顯示出來並且很好..但它完全忽略了if語句。 如果我只做雙'=='..變量不顯示,它將進入else狀態。 萊姆知道你是否看錯了。
var pic1 = document.getElementById('team1pic').src;
var win1 = document.getElementById('wins').innerHTML;
if (pic1 == 'pens.jpg') {
document.getElementById('wins').innerHTML = PittWins;
} else {
document.getElementById('wins').innerHTML = 'no';
}
這是一些與我一起的HTML
<a class="dock-item" id="pens" href="#" onclick="document.getElementById('team1pic').src='pens.jpg'"><span>Pittsburgh Penguins</span><img src="pens.jpg" alt="Pittsburgh Penguins" /></a>`
接着
<th width="35%" ><img src="" / id='team1pic'></th>
在if
之前執行alert(pic1)
,您會發現它。
唯一的“問題”是pic1
不等於'pens.jpg'
。 如果用單個=
代替賦值運算符,則會得到一個表達式,其結果為'pens.jpg'
,該表達式始終為true
,因此它始終運行第一個分支。
更好:
var s = document.getElementById('team1pic').src,
w = document.getElementById('wins');
w.innerHTML = s == 'pens.jpg' ? PittWins : 'no';
我認為PittWins
是一個變量。
我很高興看到它附帶的HTML。
單個=
起作用但==
的原因並不表明它們不相等的結論。 它顯示=
的原因是因為賦值評估為true。 分配給“真實”變量的任何情況都會如此,這意味着該值在JS中將為true。 在javascript中,除0
, false
, null
和undefined
評估為true。
您可能需要執行alert(pic1)
以查看其中的內容,或者如果使用的是Firefox或Chrome,則可以使用Javascript調試器工具。
采用
var pic1 = document.getElementById('team1pic').getAttribute('src',2);
...以獲得定義的src,而不是完整的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.