jQuery从div中获取数据

时间:2015-03-19 10:14:02

标签: jquery html css

我做错了什么但是弄不清楚是什么。我有一组过滤器,其中包含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中,然后我可以访问它以供以后使用。

jsfiddle

4 个答案:

答案 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 );

小提琴: http://jsfiddle.net/6eygbafb/5/

答案 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 );
});

Working Demo

答案 3 :(得分:1)

更新点击功能

中的文字和属性

Here is the fiddle

您可以使用

$('#data_div').attr('data-term', term);

获取click函数之外的值以供以后使用