我试图理解为什么某些东西会像它在jQuery中那样起作用。
当我想应用jQuery扩展名(例如datatables)时,我运行以下命令:

$("#some_id").datatables(.. parameters ..);

我不知道为什么这样做,显然DOM元素事先没有datatables()方法。

谢谢!

最佳答案

这样做的原因是因为您没有在DOM元素上进行此调用-您在jQuery对象上进行了存储,该对象存储了应该影响的DOM对象上的信息。
.datatables()可用的原因是某些插件(可能是DataTables)以类似于以下的方式使其可访问:

jQuery.fn.my_foo_func = function(){
    console.log(jQuery(this));
};

如果应用上述方法,则可以执行以下操作:
$("#some_id").my_foo_func();

它将调用控制台的jQuery对象传递到控制台。

很清楚吗?

09-25 17:20
查看更多