【问题标题】:jQuery get shown div idjQuery 获取显示的 div id
【发布时间】:2013-08-07 18:25:08
【问题描述】:

我有以下代码:

<div class="sequence-container"> 
  <div id="1"></div>
  <div id="2"></div>
  <div id="3"></div>
</div>

和 jQuery:

$(window).load(function(){
    $('.sequence-container div:first').show(); // show first on load

    $('.next').click(function() {
        var $next = $('.sequence-container div:visible').next();
        if ($next.length) {
        $('.sequence-container div').hide();
            $next.show();
        }
    });

    $('.prev').click(function() {
        var $prev = $('.sequence-container div:visible').prev();
        if ($prev.length) {
            $('.sequence-container div').hide();
            $prev.show();
        }
    });

});

这非常好,允许用户在 div 中来回移动。但是,我想做的是带回当前显示的divID。我正在苦苦挣扎 - 有什么建议吗?

【问题讨论】:

  • 我们可以有 jsfiddle 吗??
  • 使用.attr 方法如$('.sequence-container div:visible').attr('id')

标签: jquery html show-hide


【解决方案1】:

jQuery attr() 函数将允许您检索 id 值,如下所示:

$(this).attr('id');

注意:$(this) 指的是 jQuery 选择器的 DIV。

【讨论】:

  • 感谢 Karl - 感谢您抽出宝贵时间回复。
【解决方案2】:

你可以使用jQuery visible selector

$("div:visible").attr("id");  

它将选择可见的div

【讨论】:

  • 我羞愧地低下了头……应该发现这很容易。谢谢@Karna
  • @Homer_J:很高兴我能帮上忙!
【解决方案3】:

您可以将其添加到此部分:

$('.next').click(function() {
    var $curr = $('.sequence-container div:visible');
    var id = $curr.attr('id');
    var $next = $curr.next();
    if ($next.length) {
        $('.sequence-container div').hide();
        $next.show();
    }
});

【讨论】:

  • 谢谢!非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-09
  • 2012-08-27
  • 1970-01-01
  • 2014-07-03
  • 2023-03-09
  • 2011-11-27
  • 1970-01-01
相关资源
最近更新 更多