使用javascript检查图像名称

Checking image name using javascript

本文关键字:图像 检查 javascript 使用      更新时间:2023-09-26

我正在使用javascript更改img src。

我正在试着确定是打开还是关闭。

我正在测试以下内容:

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…是否有一个函数只是测试实际的文件名,而不是完整的字符串文件?

或者有没有更好的方法来管理点击?

使用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'
}

您始终可以使用indexOf:

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

要进一步缩短它,可以使用三元操作符:

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';

您也可以使用match语句。

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'
}

尝试使用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");         
});