javascript - 这是 jquery data() 的可接受使用吗?

标签 javascript jquery

我正在使用 jquery data() 附加一个 div 的名称,我想在单击另一个 div (.panel_button) 时显示。当文档准备好时,我正在将此 div 的 id 附加到按钮。这是执行此操作的好方法吗?还是它太耗费资源而且看起来不专业?

$(document).ready(function(){

    $('#sample_button').data('panel', 'sample_kit_container');
    $('#mail_button').data('panel', 'mail_container');
    $('#mbillboard_button').data('panel', 'mbillboard_container');

    $('.panel_button').on('click', function(){

        $('.secondary_panel').hide();
        var panel = $(this).data('panel');
        $('#' + panel).show();

    });

});

最佳答案

是的,那应该可以正常工作。作为替代方案,您可以存储实际元素本身(假设它已经存在)而不是每次都找到它:

$('#sample_button').data('panel', $('#sample_kit_container'));
$('#mail_button').data('panel', $('#mail_container'));
$('#mbillboard_button').data('panel', $('#mbillboard_container'));

$('.panel_button').on('click', function(){

    $('.secondary_panel').hide();
    var panel = $(this).data('panel');
    panel.show();

});

关于javascript - 这是 jquery data() 的可接受使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034801/

相关文章:

javascript - 使用 jQuery 连续向左滑动动画

javascript - Chrome 扩展开发 Instagram 加载事件

javascript - AnimationEnd/.removeClass 在 Firefox 中不起作用

javascript - 如何使用 javascript 或任何 JS 库关闭 filePicker 的窗口?

javascript - 将数组的多个项目映射到单个对象/函数

jquery - 滚动到 #id + 100 像素

javascript - GridStack 如何禁用移动或拖动网格小部件

jquery - 不听我的 if 语句吗?

javascript - 将json数据从jquery传递到flask

javascript - 检查 req.checkBody() 内的 req.body.property.childProperty