如何检查我的对象类型是Image?

时间:2009-09-02 12:31:44

标签: javascript jquery dom

如果我写这样的话:

var img = $(new Image()).attr('src', image.src);

如果img var是图像而不是其他内容,我如何稍后检查?

3 个答案:

答案 0 :(得分:6)

 if ( img.is('img') ){

 }

为了安全起见我可能想再次将var包装在jQuery中,只是因为你可能已经将img更改为dom节点或其他东西......

if ( $(img).is('img') ){

}

答案 1 :(得分:1)

img.filter('img')

如果这返回了某些内容,那么它就是一张图片。

答案 2 :(得分:-1)

您应该避免显式类型检查。

使用多态来选择必须对图像执行的操作,以及必须对其他对象执行的操作。

var img = $(new Image())(...);
img.process = function(){ ... do whatever images need ... };
objs.push( img );

var txt = new Text();
txt.process = function(){ .. do text processing, spellcheck, ... };
objs.push( txt );

...

objs.each( o ) { o.process(); }