0

我有这个代码:

<div class="Slideshow homeSlideshow">
    <div class="jshowoff jshowoff-1" style="position: relative;">
    <ul style="position: relative;">
        <li class="Slide" title="Trailer" style="left: auto; right: 0px; top: auto; bottom: auto; position: relative;">
            <a target="_blank" href="http://www.youtube.com/watch?v=123456" title="xxx"></a>
        </li>
    </ul>
    <p class="jshowoff-slidelinks jshowoff-1-slidelinks">
        <a class="jshowoff-slidelink-0 jshowoff-1-slidelink-0" title="undefined" href="#null" style="width: 30.3333%;">
            Trailer
        </a>
    </p>
    </div>
</div>

我在 p 类 jshowoff-slidelinks 中。我需要的是,在单击此 p 内部的 a 时,我会转到 li 类幻灯片中的 href。

任何的想法?

就像,转到父母的孩子的href,类似的东西。

问题是,这是幻灯片代码的一部分,因此 li 会随着幻灯片的移动而不断变化。

4

5 回答 5

1
$("p a").click(function() {
  var div = $(this).parent().parent(),
    a = div.find("ul a"),
    href = a.attr("href");

  window.location = href;
});
于 2012-11-22T16:48:20.783 回答
1

试试这个,

现场演示

$('.jshowoff-slidelinks.jshowoff-1-slidelinks').click(function(){

    alert($(this).closest('.jshowoff.jshowoff-1').find('li a').attr('href'));

});​
于 2012-11-22T16:49:13.473 回答
1
$('[class^=jshowoff-slidelink]').click(function(e){
    e.preventDefault();
    window.location = $(this).closest('.Slideshow').find('.Slide a').prop('href');
});

调用.parent()不使用querySelectorAll哪个具有性能影响。.closest()但是,将,并且具​​有更好的性能。

我已经使用class^class begins with以防您有该链接的多个实例。window.location 将告诉浏览器加载后面提供的字符串=,在这种情况下,它是元素内的锚.slide元素。我们只是从这个锚点中获取了 href 属性。

于 2012-11-22T16:49:29.433 回答
1

我可能会选择closestand find

$("p.jshowoff-slidelinks").click(function() {
    var href = $(this).closest("div.Slideshow").find("li.Slide a").attr("href");
    if (href) {
        window.location = href;
    }
    return false;
});
于 2012-11-22T16:49:54.980 回答
1

绑定单击事件并在事件中获取元素并检查父项并找到所需的锚标记

 var p = $("p.jshowoff-slidelinks");
 p.click(function(){
 window.location = $(this).parent().find("ul>li>a").attr("href");
 });          

检查下面的jsfiddle

http://jsfiddle.net/LSwvG/3/

使用 Window.loaction 重定向

谢谢

于 2012-11-22T17:08:54.593 回答