javascript - jQuery自定义函数扩展: store data into DOM element

标签 javascript jquery dom

我有这个简单的功能

$.fn.extend({

    initCustomFunction: function(){

        var obj = { // some data }
        $(this).data('myObj', obj); // I want to attach obj to this element

    }, 

    startCustomFunction: function(){

        var obj = $(this).data('myObj');

        // do something

    }
});

$('#myId').initCustomFunction();
$('#myId').startCustomFunction();

在此示例中,我无法检索“startCustomFunction”内的“myObj”对象。我该如何解决这个问题?当我在特定元素上调用 Init 函数时,我想将一些数据附加到当前 DOM 元素。

最佳答案

两个函数定义之间需要用逗号。

$.fn.extend({

    initCustomFunction: function(){

        var obj = { foo: 'bar' };
        $(this).data('myObj', obj); // I want to attach obj to this element

    },

    startCustomFunction: function(){

        var obj = $(this).data('myObj');
        $('#result').text(obj.foo);

    }
});

$('#myId').initCustomFunction();
$('#myId').startCustomFunction();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="myId"></div>
<div id="result"></div>

关于javascript - jQuery自定义函数扩展: store data into DOM element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41597567/

相关文章:

javascript - JS : Loop forces ascending sorting, 如何保持定义的顺序?

javascript - 使用模拟器时 react native firebase 崩溃

javascript - 如何从属性中获取数据

javascript - 如果选择器存在 - 运行代码否则重复检查

php - 如何在 PHP 中使用 Dom 文档查找 Dom 元素的样式属性?

javascript - 无法标记通过javascript动态选中的复选框

jquery - 按下转义键时如何隐藏元素?

javascript - JQuery 或 vanilla Javascript 中的 DOM Mutation 事件

html - CSS 选择器/xpath 和 url

javascript - ReactJS:组件属性更改后重新渲染不起作用