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

jquery data attribute as selector: how to get value from attribute inside onclick function?

谁能帮忙从数据属性中获取值的最佳方法是什么?

$('[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>

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

使用.data()

this.data('scrollTo');

按照建议使用 thisdata()。问题是 scrollto 需要用小写字母指定。

$(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>