【问题标题】:jquery select parent elements siblingjquery选择父元素兄弟
【发布时间】:2012-01-28 08:39:05
【问题描述】:

好的,让我们看看我是否可以在这里足够清楚地解释这一点。 我的 HTML 看起来像

<li>
    <div class="info_left" rel="snack">Fries</div>
    <div class="info_right">
        <span class="info_remove">[Remove]</span>
        <span class="info_favorite">[Favorite]</span>
    </div>
</li>
<li>
    <div class="info_left" rel="lunch">Burger</div>
    <div class="info_right">
        <span class="info_remove">[Remove]</span>
        <span class="info_favorite">[Favorite]</span>
    </div>
</li>
<li>
    <div class="info_left" rel="4thmeal">Taco</div>
    <div class="info_right">
        <span class="info_remove">[Remove]</span>
        <span class="info_favorite">[Favorite]</span>
    </div>
</li>

如果您注意到,您会在 div“info_right”中看到“删除”和“收藏夹”。单击这两个选项中的任何一个时,我需要做的是获取同一个 li 的“info_left”div 的 rel 和 text 值。我尝试了几种方法,但不认为我正确地确定了父母、兄弟姐妹之间的组合,或者我不知道。无论哪种方式,都希望有人可以向我扔骨头。

【问题讨论】:

  • 如果您尝试过,请展示您所做的,我们可以为您提供指导。

标签: javascript jquery parent siblings


【解决方案1】:

应该是:

$('.info_remove,.info_favorite').on('click', function() {
   var $left = $(this).parent().siblings('.info_left');
   var rel = $left.attr('rel');
   var txt = $left.text();
   ...
});

【讨论】:

    【解决方案2】:

    jsFiddle example

    $(document).ready(function(){
        $(".info_right span").click(function(){
            $("#msg").html($(this).attr("class")+": "+$(this).parent().prev().attr("rel"));
        })
    })
    

    【讨论】:

      【解决方案3】:

      试试这个

      $('.info_remove,.info_favorite').click(function() {
         var target_elem = $(this).parent().prev();
         alert(target_elem.attr('rel'));
         alert(target_elem.text());
      });
      

      小提琴:http://jsfiddle.net/ss37P/1/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-28
        • 1970-01-01
        • 2017-08-22
        • 1970-01-01
        • 2022-01-24
        • 1970-01-01
        • 2022-11-13
        • 1970-01-01
        相关资源
        最近更新 更多