Javascript 如何根据图像的src选择alt?
这就是我的情况: 我想根据一个img的alt来影响一个行动,但我有两个img,它们都有Javascript 如何根据图像的src选择alt?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,这就是我的情况: 我想根据一个img的alt来影响一个行动,但我有两个img,它们都有alt='growth Your Business'。我不能改变任何一个alt,业务通过CMS控制。因为除了alt中的措辞之外,我没有其他方法可以唯一地识别我想要影响的元素,所以我试图完成的是通过alt进行选择,然后编写一个javascript函数,如果这个特定img的alt作为包含“GrowYourBusiness_on.gif”的src,则执行此操作 下面是我所拥有的,但我的语法目前不可行。我做错了什么?我
alt='growth Your Business'
。我不能改变任何一个alt,业务通过CMS控制。因为除了alt中的措辞之外,我没有其他方法可以唯一地识别我想要影响的元素,所以我试图完成的是通过alt进行选择,然后编写一个javascript函数,如果这个特定img的alt作为包含“GrowYourBusiness_on.gif”的src,则执行此操作
下面是我所拥有的,但我的语法目前不可行。我做错了什么?我不确定我是否能像现在这样使用“this”
$("[alt='Grow Your Business']").hover(function () {
if ($("this:contains('GrowYourBusiness_on.gif')"))
$("#MainNavItems_7").show("fast").css({ "z-index": "3000" });
});
您应该检查属性
src
:
$("[alt='Grow Your Business']").hover(function () {
if ($(this).attr('src') == 'GrowYourBusiness_on.gif'){
$("#MainNavItems_7").show("fast").css({ "z-index": "3000" });
}
});
如果路径是绝对路径,则可以在字符串中查找要查找的子字符串:
if ($(this).attr('src').indexOf('GrowYourBusiness_on.gif') != -1){
尝试使用:
您可能还希望使用mouseenter
而不是hover
,因为hover
回调将同时在mouseenter和mouseleave上运行
但为什么不
$("[src='GrowYourBusiness_on.gif'][alt='Grow Your Business']")
在初始选择框中测试这两个选项。将鼠标悬停仅附加到在src属性中包含gif的图像,并具有alt文本
$('img[src="GrowYourBusiness_on.gif"][alt="Grow Your Business"]').hover(function(){
$("#MainNavItems_7").show("fast").css({ "z-index": "3000" });
});
jQuery的[attribute=“xxx”]
选择器已经存在
选择具有指定属性且值包含给定单词(由空格分隔)的元素
如果图像
src
有路径(foobar/GrowYourBusiness\u on.gif
),您也可以使用“属性以结尾”选择器,$=
:[src$='GrowYourBusiness\u on.gif']
$("[src='GrowYourBusiness_on.gif'][alt='Grow Your Business']")
$('img[src="GrowYourBusiness_on.gif"][alt="Grow Your Business"]').hover(function(){
$("#MainNavItems_7").show("fast").css({ "z-index": "3000" });
});