【发布时间】:2009-09-02 12:31:44
【问题描述】:
如果我这样写:
var img = $(new Image()).attr('src', image.src);
我以后如何检查 img var 是图像而不是其他东西?
【问题讨论】:
标签: javascript jquery dom
如果我这样写:
var img = $(new Image()).attr('src', image.src);
我以后如何检查 img var 是图像而不是其他东西?
【问题讨论】:
标签: javascript jquery dom
if ( img.is('img') ){
}
为了安全起见,我可能想再次将 var 包装在 jQuery 中,以防万一您可能已将 img 更改为 dom 节点或其他...
if ( $(img).is('img') ){
}
【讨论】:
img.filter('img')
如果这返回了一些东西,那么它就是一个图像。
【讨论】:
您应该避免显式类型检查。
使用多态性来选择必须对图像执行的操作,以及必须对其他对象执行的操作。
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(); }
【讨论】: