我试图理解为什么某些东西会像它在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对象传递到控制台。
很清楚吗?