Javascript JQuery:image src变量清理

Javascript JQuery:image src变量清理,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,在过去的几天里,我一直在教自己如何使用jquery,并没有太多地使用它,我仍然停留在旧的方式(回到10年前的lol)开始我下载了jquery桌面,以避免重复使用图像src链接不可避免地使文件比需要的大。所以,在制作参考变量时,基本上开始再次使用相同的东西。。。我试着抬头看看如何压缩它或清理一些,但我一直在为我正在尝试做的事情陷入死胡同。。。如果有人碰巧知道我能做什么,那就太棒了 代码 enter code here /* SAVES DATA SPACE ALSO CR

在过去的几天里,我一直在教自己如何使用jquery,并没有太多地使用它,我仍然停留在旧的方式(回到10年前的lol)开始我下载了jquery桌面,以避免重复使用图像src链接不可避免地使文件比需要的大。所以,在制作参考变量时,基本上开始再次使用相同的东西。。。我试着抬头看看如何压缩它或清理一些,但我一直在为我正在尝试做的事情陷入死胡同。。。如果有人碰巧知道我能做什么,那就太棒了

代码

enter code here
            /*  SAVES DATA SPACE ALSO CREATES QUICK REFFERENCE/VARIABLE */
            var healthVar= 'assets/img/icons/health.png';
            var emailVar = 'assets/img/icons/email.png';
            var linkVar = 'assets/img/icons/link.png';
            var noteVar = 'assets/img/icons/note2.png';
            var videoVar = 'assets/img/icons/video1.png';
            var xxxVar = 'assets/img/icons/xxx.png';
            var socialVar = 'assets/img/icons/social.png';
            var webdesktopVar = 'assets/img/icons/webdesktop.png';
            var androidVar = 'assets/img/icons/android.png';
            var devVar = 'assets/img/icons/development.png';
            var secureVar = 'assets/img/icons/secure.png';
            var signalVar = 'assets/img/icons/signal.png';
            var setVar = 'assets/img/icons/settings.png';
            var spamVar = 'assets/img/icons/spam.png';
            var feedbackVar = 'assets/img/icons/feedback.png';

            $("#health_Pic").attr("src", healthVar);$("#health_PicB").attr("src", healthVar);$("#health_PicC").attr("src", healthVar);
            $("#email_Pic").attr("src", emailVar);$("#email_PicB").attr("src", emailVar);$("#email_PicC").attr("src", emailVar);
            $("#link_Pic").attr("src", linkVar);$("#link_PicB").attr("src", linkVar);$("#link_PicC").attr("src", linkVar);
            $("#note_Pic").attr("src", noteVar);$("#note_PicB").attr("src", noteVar);$("#note_PicC").attr("src", noteVar);
            $("#video_Pic").attr("src", videoVar);$("#video_PicB").attr("src", videoVar);$("#video_PicC").attr("src", videoVar);
            $("#social_Pic").attr("src",socialVar);$("#social_PicB").attr("src", socialVar);$("#social_PicC").attr("src", socialVar);
            $("#webdesktop_Pic").attr("src",webdesktopVar);$("#webdesktop_PicB").attr("src",webdesktopVar);$("#webdesktop_PicC").attr("src",webdesktopVar);
            $("#android_Pic").attr("src",androidVar);$("#android_PicB").attr("src",androidVar);$("#android_PicC").attr("src",androidVar);
            $("#dev_Pic").attr("src",devVar);$("#dev_PicB").attr("src",devVar);$("#dev_PicC").attr("src",devVar);
            $("#secure_Pic").attr("src",secureVar);$("#secure_PicB").attr("src", secureVar);$("#secure_PicC").attr("src", secureVar);
            $("#signal_Pic").attr("src", signalVar);$("#signal_PicB").attr("src", signalVar);$("#signal_PicC").attr("src", signalVar);
            $("#settings_Pic").attr("src", setVar);$("#settings_PicB").attr("src", setVar);$("#settings_PicC").attr("src", setVar);
            $("#spam_Pic").attr("src",spamVar);$("#spam_PicB").attr("src", spamVar);$("#spam_PicC").attr("src", spamVar);
            $("#feedback_Pic").attr("src", feedbackVar);$("#feedback_PicB").attr("src", feedbackVar);$("#feedback_PicC").attr("src", feedbackVar)
我尝试过这样做:

$("#health_Pic","#health_PicB","#health_PicC").attr("src", healthVar);

幸运的是,感谢您提供的所有信息,jQuery attr函数只获取选择器获得的第一个元素

Get the value of an attribute for the 
first element in the set of matched elements.
使用循环更改多个图像src


编辑:在检查文档并亲自尝试之后,我发现使用.attr作为setter确实为所有元素设置了值。感谢j08691指出这一点。

jQuery attr函数只接受选择器获得的第一个元素

Get the value of an attribute for the 
first element in the set of matched elements.
使用循环更改多个图像src

编辑:在检查文档并亲自尝试之后,我发现使用.attr作为setter确实为所有元素设置了值。感谢j08691指出这一点。

试试:

$("#health_Pic,#health_PicB,#health_PicC").attr("src", healthVar);
尝试:


啊,这就解释了我为什么要做A-B-C等等。。如果我试着通读这些文件,我会花上几个小时翻找所有这些文件,以获得旁敲侧击等等。。但是非常感谢,我甚至没有想到使用a循环,你读错了解释。这意味着,如果使用类似于
$('div').attr('src',healthVar)
的代码,那么只有jQuery找到的第一个div才会更改src属性,而不是只更改一个项。在jQuery中,您始终可以传递多个元素作为选择器的一部分。好的,就像在div1中,您有4个图像div2有6个图像一样<代码>$('div1')。attr('src',healthVar)只会更改div1中的图像,对吗?(感谢您花时间为我解释,我非常感谢)@acrichm-首先不,
$('div1')
不会选择任何内容,因为div1不是元素。如果div1是元素的ID,那么您可以使用
$(“#div1”)
选择它(注意#)。但是,即使您选择了ID为div1的元素,您仍然需要选择其中的图像,如
$('#div1 img')
。但是那只会改变在该分区中找到的第一个img。要选择您要使用的每个图像。each(),比如
$('#div1 img')。each(function(){$(this.attr('src',something)})
。我正在考虑它,我现在明白你的意思了。。我要去看一下那些完全(有希望)理解的文档,再次感谢,尽管你为我提供了很多帮助和信息,这解释了我为什么要做A-B-C等等。。如果我试着通读这些文件,我会花上几个小时翻找所有这些文件,以获得旁敲侧击等等。。但是非常感谢,我甚至没有想到使用a循环,你读错了解释。这意味着,如果使用类似于
$('div').attr('src',healthVar)
的代码,那么只有jQuery找到的第一个div才会更改src属性,而不是只更改一个项。在jQuery中,您始终可以传递多个元素作为选择器的一部分。好的,就像在div1中,您有4个图像div2有6个图像一样<代码>$('div1')。attr('src',healthVar)只会更改div1中的图像,对吗?(感谢您花时间为我解释,我非常感谢)@acrichm-首先不,
$('div1')
不会选择任何内容,因为div1不是元素。如果div1是元素的ID,那么您可以使用
$(“#div1”)
选择它(注意#)。但是,即使您选择了ID为div1的元素,您仍然需要选择其中的图像,如
$('#div1 img')
。但是那只会改变在该分区中找到的第一个img。要选择您要使用的每个图像。each(),比如
$('#div1 img')。each(function(){$(this.attr('src',something)})
。我正在考虑它,我现在明白你的意思了。。我要去看一下文档中关于那些能够完全(满怀希望地)理解这一切的内容。哈哈,再次感谢你,尽管你为梅洛提供了很多帮助和信息,但一些如此简单的事情总是让我和prob感到困惑。其他人也。。谢谢,没问题,很高兴我能帮你把这件事弄清楚。哈哈,这么简单的事情总是让我难堪。其他人也。。谢谢,没问题,很高兴我能帮你解决这个问题。