如果我写这样的话:
var img = $(new Image()).attr('src', image.src);
如果img var是图像而不是其他内容,我如何稍后检查?
答案 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(); }