我做错了什么但是弄不清楚是什么。我有一组过滤器,其中包含data
属性。当我点击它们时,我会检索该值,并且我需要将它存储到其data
属性中的div元素中。
<ul class="filters">
<li>
<a href="#" data-term="bla">Click</a>
<a href="#" data-term="Bla">Click</a>
<a href="#" data-term="BLA">Click</a>
<a href="#" data-term="Blah">Click</a>
</li>
</ul>
<div id="data_div" data-term="">Data value is <span></span></div>
jQuery是
jQuery('.filters li a').on('click', function(){
var term = jQuery(this).data('term');
$('#data_div').data('term', term);
});
var term = jQuery('#data_div').data('term');
jQuery('#data_div span').text( "" + term );
我这样做是因为我不知道如何在点击时发生的函数中获取局部变量term
的值。所以我想将该属性存储到div中,然后我可以访问它以供以后使用。
答案 0 :(得分:3)
如果我说得对,你想在点击功能中获得局部变量“term”的值,并在外面的某个地方使用它。然后,将其移动到单击函数范围之外,使其成为全局。
var term;
jQuery('.filters li a').on('click', function(){
term = jQuery(this).data('term');
});
答案 1 :(得分:2)
这可以通过attr得到值:
$('.filters li a').on('click', function(){
var term = $(this).attr('data-term');
$('#data_div').text('data is' + term);
console.log(term);
});
var term = $('#data_div').attr('data-term');
$('#data_div span').text( "" + term );
答案 2 :(得分:2)
试试这个
jQuery('.filters li a').on('click', function(){
var term = jQuery(this).attr('data-term');
$('#data_div').attr('data-term', term);
var term = jQuery('#data_div').attr('data-term');
jQuery('#data_div span').text( "" + term );
});
答案 3 :(得分:1)