如何在发生jQuery的div之外获取数据属性?

时间:2018-12-17 07:39:44

标签: javascript jquery html

我使用的是owl滑块,每个视频类别在一页上都有多个滑块。因此,我在div中添加了每个类别的子弹。现在,在owl-next上单击“我要获取点击的类别的data-slug”。这是我尝试过的方法,但只获取了 first 类别,而不是其他类别。

  

注意::如果您牢记为什么不在owl-next div中添加data-categoryslug,那么owl carousel会执行以下操作   关于初始化的事情,我不知道如何在其中添加。

js:

//获取“猫头鹰食肉”的下一个视频

        $('.blog-groups .blog-slider .owl-nav .owl-next').click(function(e){
            var categorySlug = $('.ajax-cate').data('categoryslug');
            console.log(categorySlug);
         });

HTML:

<div class="blog-groups">
    <div class="group-heading">

        <div class="blog-slider owl-lg-dot mb-none owl-theme owl-loaded owl-carousel owl-carousel-init" id="videoList">

            <div class="owl-controls">
                <div class="owl-nav">
                    <div class="owl-prev" style="display: block;">
                    </div>
                    <div class="owl-next" style=""></div>
                </div>
            </div>

        </div>
        <div class="group-seemore">
            <a class="ajax-cate" data-categoryslug="slug-is-here" href="/blog/category/slug-is-here" title="">
                See more
            </a>
        </div>

    </div>
</div>

1 个答案:

答案 0 :(得分:1)

尝试此代码。您需要先使用$(this),然后使用parents()将要尝试获得的元素与单击的元素相关联,再转到上级标记,然后最后使用find()

$('.owl-next').on('click', function() { 
    var categorySlug = $(this).parents('.blog-groups').find('.ajax-cate').data('categoryslug');
    console.log(categorySlug);
});