找到父母的孩子,jquery

时间:2012-11-22 16:45:58

标签: jquery

我有这段代码:

<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的内部,我去了li类幻灯片里面的href。

有什么想法吗?

就像是,转到父母的孩子的href,那种东西。

事实上,这是幻灯片代码的一部分,因此当幻灯片移动时,li会不断变化。

5 个答案:

答案 0 :(得分:1)

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

  window.location = href;
});

答案 1 :(得分:1)

试试这个,

<强> Live Demo

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

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

});​

答案 2 :(得分: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是{{1}}元素中的锚元素。我们只是从这个锚中获取了href属性。

答案 3 :(得分:1)

我可能会选择closestfind

$("p.jshowoff-slidelinks").click(function() {
    var href = $(this).closest("div.Slideshow").find("li.Slide a").attr("href");
    if (href) {
        window.location = href;
    }
    return false;
});

答案 4 :(得分:1)

将事件绑定到click并在事件中获取元素并检查父级并找到所需的锚标记

 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重定向

由于