从可见元素获取URL并添加到另一个元素的链接?

时间:2012-02-07 17:24:01

标签: jquery select element href visible

我使用幻灯片显示并尝试从图像中获取链接,并将此链接添加到标题和描述中。

此幻灯片显示的问题是,它会预加载所有图像并将可见性状态从隐藏更改为可见。

我想只从可见图片中获取网址。

HTML:

<div id="rgslideshow-4574" class="rgslideshow">
<a href="fuer-patienten">
<a href="fuer-patienten/unser-team">
<img class="rgssimg" width="715" height="361" border="0" title="Dies ist eine Beschreibung zu Bild 2 " alt="Dies ist eine Beschreibung zu Bild 2" src="uploads/tx_rgslideshow/test2.jpg" style="display: none; visibility: hidden; opacity: 0;">
</a>
<a href="fuer-patienten/patienteninformationen">
<img class="rgssimg" width="715" height="361" border="0" title="Dies ist eine Beschreibung zu Bild 3 " alt="Dies ist eine Beschreibung zu Bild 3" src="uploads/tx_rgslideshow/test3.jpg" style="display: block; visibility: visible; opacity: 1;">
</a>
</div>

这是我尝试使用jQuery:

jQuery(document).ready(function($) {

    var getUrlFromHREF = $('#rgslideshow-4574 a ').attr('href');

    alert(getUrlFromHREF);

    $('.rgstitle, .rgsdescription').click(function(event) {
        window.open(getUrlFromHREF, '_self');
        return false;
    });
});

提前致谢!

2 个答案:

答案 0 :(得分:0)

如果没有使用不透明度显示/隐藏图片,这应该有用(

$('.rgstitle, .rgsdescription').click(function(event) {
    window.open($('#rgslideshow-4574 a:visible').attr('href'), '_self');
    return false;
});

编辑:您不应在加载文档时定义链接,但仅在您单击时定义链接,因为您对当前可见图像的链接感兴趣。

答案 1 :(得分:0)

您还可以使用.filter()方法:

var getUrlFromHREF = $('#rgslideshow-4574 a img').filter(':visible').parent().attr('href');

使用此方法比jQuery的custom :visible selector

略微提升性能

更新:刚刚注意到您的HTML无效。第一个锚未关闭。