jQuery数据属性作为选择器:如何从onclick函数中的属性获取值



谁能帮忙从数据属性获取值的最佳方式?

$('[data-scrollTo]').on('click', function(event) {
    $(document).scrollTo('#'+#DATA?, {duration:'slow'});
    return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a data-scrollTo="#scrolltome" href="#">test</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id="scrolltome"></div>

如何获取值(最短方式)?

按照已经建议的方式使用thisdata()。问题是滚动到需要用小写字母指定。

$(this).data('scrollto');

至于你的片段... scrollTo()不是jQuery的一部分,但可能是它的插件之一。要仅使用 jQuery 在本地执行此操作,请使用 scrollTop()

$('[data-scrollTo]').on('click', function(event) {
   $('html, body').animate({
     scrollTop: $($(this).data('scrollto')).offset().top
   }, 2000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a data-scrollTo="#scrolltome" href="#">scroll to target</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id="scrolltome">target</div>

使用.data()

this.data('scrollTo');

最新更新