2014-05-11 80 views
-2

我想創建新的jQuery函數,我嘗試編寫一些代碼。 我想知道我的代碼是否有效?創建新函數jQuery

Fiddle

這裏是我的代碼

$.fn.hitme = function(){ 
    return this.each(function() { 
    if (this.hitme == 'String') this.hitme = alert('you\'ve hitted me!'); 
    }); 
}; 
$('.round').hitme('why?'); 

HTML代碼

<div class='foo'> 
    <h1>Here!!</h1> 
    <div class='round'></div> 
</div> 
+2

它是有效的,但它沒有很大的意義。 'alert'不返回任何值,並且'this.hitme'很可能沒有在DOM元素上定義,所以this.hitme =='String''將始終爲'false'。 –

+0

@Felix Kling爲什麼'this.hitme'沒有在DOM元素上定義? – Tukhsanov

+0

由於DOM API定義良好,並且此類屬性根本不存在:http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID- 745549614 –

回答

0

嘗試:

$.fn.hitme = function(item){ 
    return this.each(function() { 
     if (typeof(item) == 'string') alert('you\'ve hit me!') 
    }); 
}; 
$('.round').hitme('why?');