2009-09-02 10 views

回答

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

} 

爲了安全我可能會嘗試重新包裝jQuery中的VAR只是櫃面你可能已經改變了IMG的DOM節點或其他什麼東西......

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

} 
+1

是否有純Javascript方式來做到這一點? – vsync 2009-09-04 07:56:49

+1

嘗試如果(img.nodeType === 1 && img.tagName ===「img」) – redsquare 2009-09-04 08:39:49

1
img.filter('img') 

如果這返回的東西,那麼它是一個圖像。

-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(); } 
+0

我正在使用一些圖庫代碼及其難看的代碼。有時img意味着圖像對象,有時它只是一個html代碼(閃存EMBED或​​其他),它應該只運行我寫的一些代碼,如果img ==圖像對象。 – vsync 2009-09-02 12:57:16