使用javascript检查图像名称

使用javascript检查图像名称,javascript,Javascript,我正在使用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返回完整的

我正在使用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

e、 g

使用indexOf()而不是比较src

e、 g


YOU始终可以使用
索引of

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

YOU始终可以使用
索引of

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

要进一步缩短此时间,可以使用运算符:

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

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

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

您也可以使用匹配语句

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

您也可以使用匹配语句

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