javascript
2011-04-09 61 views 1 likes 
1

我使用javascript更改了img src。使用javascript檢查圖像名稱

我試圖確定是否打開或關閉。

我測試如下:

var img_el = document.getElementById("on_off_img"); 
if (img_el.src == 'img/on.png') { 

    img_el.src = 'img/off.png' 
} else { 

    img_el.src = 'img/on.png' 
} 

我的問題是,我從來沒有一場比賽 - 它看起來像img_el.src返回完整的URL ...是否有一個功能,只是測試的實際文件名而不是文件的完整字符串?

還是有更好的方法來管理點擊?

回答

5

使用的indexOf(),而不是比較SRC

var img_el = document.getElementById("on_off_img"); 
if (img_el.src.indexOf('on.png') > -1) { 
    img_el.src = 'img/off.png' 
} else { 

    img_el.src = 'img/on.png' 
} 
2

宥可以隨時使用indexOf

if(img_el.src.indexOf('img/on.png') > -1){ 
    img_el.src = 'img/off.png' 
}else{ 
    img_el.src = 'img/on.png' 
} 
1

爲了縮短這甚至更多,你可以使用一個ternary運營商:

var img_el = document.getElementById("on_off_img"), 
    isOn = img_el.src.indexOf('on.png')>-1; 
img_el.src = isOn ? 'img/off.png' : 'img/on.png'; 
0

嘗試使用JQuery:

$("#on_off_img").click(function(){ 
    if($(this)[0].nameProp == "on.png") 
     $(this).attr("src","img/off.png"); 
    else 
     $(this).attr("src","img/on.png");   
}); 
0

您可以使用比賽聲明以及。

var img_el = document.getElementById("on_off_img"); 
if (img_el.src.match("on.png")) 
{ 
    img_el.src = 'img/off.png' 
} else 
{ 
    img_el.src = 'img/on.png' 
} 
相關問題