JQuery show/hide 个具有匹配标题和 alt 标签的元素
JQuery show/hide elements with matching title and alt tag
是否可以通过鼠标悬停在 link 上显示图像,其唯一匹配的标签是 title 和 alt?
我的 CMS 只能为 2 个完全独立的元素生成匹配的 title 和 alt 标签。大致是这样的:
<a href="#" title="aubergine">hover this to show image</a>
<img width="300" height="300" alt="aubergine" src="http://i.imgur.com/0MmkDiI.jpg"></img>
我已经能够像这样定位 img 了:
$('a').mouseover(function() {
$('[alt="aubergine"]').css( "opacity", "100" );
});
但是我必须通过 [alt="title of this link i just hovered"]
.
获取图像,而不是特定目标 [alt="aubergine"]
这是一个 fiddle 到目前为止的工作原型:
https://jsfiddle.net/82xnqu6j/1/
只需尝试从 link 中获取实际标题并将其用作选择器的一部分
$('a').mouseover(function() {
$('[alt="'+this.title+'"]').css( "opacity", "100" );
});
这适用于任何属性,例如标题、src、href 等
查看 w3schools 页面:http://www.w3schools.com/cssref/sel_attribute_value.asp
使用 jQuery 提取当前元素的 title
属性,如以下实例所示。
这样您就可以将其概括为所有匹配的链接。
实例:
$('a').mouseover(function() {
$('[alt="' + $(this).attr("title") + '"]').css( "opacity", "1" );
});
$('a').mouseout(function() {
$('[alt="' + $(this).attr("title") + '"]').css( "opacity", "0" );
});
img {opacity:0;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" title="aubergine">hover this to show image</a>
<img width="100" height="100" alt="aubergine" src="http://i.imgur.com/0MmkDiI.jpg"></img>
JSFiddle 版本:https://jsfiddle.net/82xnqu6j/4/
您可以只使用$(this).attr('title')
来选择jQuery中元素的任何属性,与原生JavaScript中的this.title
相同。
$('a').mouseover(function() {
$('[alt="' + $(this).attr('title') + '"]').css("opacity", "100");
});
$('a').mouseout(function() {
$('[alt="' + $(this).attr('title') + '"]').css("opacity", "0");
});
img {
opacity: 0
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" title="aubergine">hover this to show image</a>
<a href="#" title="test">hover this to show image</a>
<img width="300" height="300" alt="aubergine" src="http://i.imgur.com/0MmkDiI.jpg"></img>
<img width="300" height="300" alt="test" src="http://i.stack.imgur.com/gVqLo.png"></img>
是否可以通过鼠标悬停在 link 上显示图像,其唯一匹配的标签是 title 和 alt?
我的 CMS 只能为 2 个完全独立的元素生成匹配的 title 和 alt 标签。大致是这样的:
<a href="#" title="aubergine">hover this to show image</a>
<img width="300" height="300" alt="aubergine" src="http://i.imgur.com/0MmkDiI.jpg"></img>
我已经能够像这样定位 img 了:
$('a').mouseover(function() {
$('[alt="aubergine"]').css( "opacity", "100" );
});
但是我必须通过 [alt="title of this link i just hovered"]
.
[alt="aubergine"]
这是一个 fiddle 到目前为止的工作原型: https://jsfiddle.net/82xnqu6j/1/
只需尝试从 link 中获取实际标题并将其用作选择器的一部分
$('a').mouseover(function() {
$('[alt="'+this.title+'"]').css( "opacity", "100" );
});
这适用于任何属性,例如标题、src、href 等
查看 w3schools 页面:http://www.w3schools.com/cssref/sel_attribute_value.asp
使用 jQuery 提取当前元素的 title
属性,如以下实例所示。
这样您就可以将其概括为所有匹配的链接。
实例:
$('a').mouseover(function() {
$('[alt="' + $(this).attr("title") + '"]').css( "opacity", "1" );
});
$('a').mouseout(function() {
$('[alt="' + $(this).attr("title") + '"]').css( "opacity", "0" );
});
img {opacity:0;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" title="aubergine">hover this to show image</a>
<img width="100" height="100" alt="aubergine" src="http://i.imgur.com/0MmkDiI.jpg"></img>
JSFiddle 版本:https://jsfiddle.net/82xnqu6j/4/
您可以只使用$(this).attr('title')
来选择jQuery中元素的任何属性,与原生JavaScript中的this.title
相同。
$('a').mouseover(function() {
$('[alt="' + $(this).attr('title') + '"]').css("opacity", "100");
});
$('a').mouseout(function() {
$('[alt="' + $(this).attr('title') + '"]').css("opacity", "0");
});
img {
opacity: 0
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" title="aubergine">hover this to show image</a>
<a href="#" title="test">hover this to show image</a>
<img width="300" height="300" alt="aubergine" src="http://i.imgur.com/0MmkDiI.jpg"></img>
<img width="300" height="300" alt="test" src="http://i.stack.imgur.com/gVqLo.png"></img>