Javascript 改变元素内部的图像?

Javascript 改变元素内部的图像?,javascript,onclick,onchange,Javascript,Onclick,Onchange,我有一些这样的函数 $(document).ready(function(){ $('.close').click(function(){ $(this).next(".firsttableheading").slideToggle(); if($(this).text() == "-" ? $(this).text("+") : $(this).text("-")); }); }); html是 <a href="#" class="close" o

我有一些这样的函数

 $(document).ready(function(){
$('.close').click(function(){
     $(this).next(".firsttableheading").slideToggle();

     if($(this).text() == "-" ? $(this).text("+") : $(this).text("-"));
});     
 });
html是

<a href="#" class="close" onClick="return false">
它不工作,可能我没有得到元素,好吗

$(document).ready(function(){
    $('.close').click(function(){
         $(this).next(".firsttableheading").slideToggle();

         var img = $(this).find("img");
         img.attr("src")  == "image1.jpg" ? img.attr("src","image2.jpg") : img.attr("src","image1.jpg");
        });     
  });


如果您检查控制台,您应该(可能)发现元素/对象没有方法
img()
,这可能就是问题所在。你使用的是什么HTML结构?我不记得jquery有.img函数,也许我在这里遗漏了什么,这个问题标记得够多了吗…而不是不必要地多次调用
attr()
我建议使用匿名函数,该函数包含对你正在使用的属性的引用:
img.attr('src',函数(i,s){returns s=='image1.jpg'?'image2.jpg':'image1.jpg';});
$(document).ready(function(){
    $('.close').click(function(){
         $(this).next(".firsttableheading").slideToggle();

         var img = $(this).find("img");
         img.attr("src")  == "image1.jpg" ? img.attr("src","image2.jpg") : img.attr("src","image1.jpg");
        });     
  });
$(document).ready(function(){
        $('.close').click(function(){
             $(this).next(".firsttableheading").slideToggle();

             var img = $(this).find("img");
             img.attr('src', function(i,s){ 
                               return s == 'image1.jpg' ? 'image2.jpg' : 'image1.jpg'; });
            });     
      });