我想知道如何在插件中告诉用户是否传递了文档片段或DOM字符串 - 或者他们是否传递了实际对象。如果他们传入DOM字符串或文档片段,我需要.appendTo('body')
$('p.my_plugin').myPlugin();
// or
$(object).myPlugin();
// vs
$('<p>My string</p>').myPlugin();
基本的插件shell
(function($){
var methods = {
init : function(options) {
return this.each(function() {
console.log(this);
....
答案 0 :(得分:1)
我还没有对此进行太多测试,而且我不确定它是否有效,但this.is('*')
似乎有效。
$('p.my_plugin').is('*'); // true
$(object).is('*'); // false
$('<p>My string</p>').is('*'); // true
答案 1 :(得分:0)
我只是检查元素是否有父元素:
if(!this.parent().length) {
this.appendTo($('body'));
}
答案 2 :(得分:0)
if (typeof this[0] === 'object') {
// they passed an object
} else {
// they passed something else (a string, for example)
}