2011-12-16 62 views
0

在AdvancED DOM腳本中的代碼片段中:Javascript刪除方法?

delete(classes[i]);的調用是這個數組還是對象方法?我無法Google回答。

/** 
* remove a class from an element 
*/ 
function removeClassName(element, className) { 
    if(!(element = $(element))) return false; 
    var classes = getClassNames(element); 
    var length = classes.length 
    //loop through the array in reverse, deleting matching items 
    // You loop in reverse as you're deleting items from 
    // the array which will shorten it. 
    for (var i = length-1; i >= 0; i--) { 
     if (classes[i] === className) { delete(classes[i]); } 
    } 
    element.className = classes.join(' '); 
    return (length == classes.length ? false : true); 
}; 
window['ADS']['removeClassName'] = removeClassName; 
+0

我發現這個這麼做鏈接相關:http://www.openjs.com/articles/delete.php – Sid 2011-12-16 19:06:14

回答

2

Mozilla的參考文檔說關於delete運算符以下幾點:

delete運算符刪除對象,對象的屬性或數組中指定索引處的元素。

欲瞭解更多信息,請參見下面的文章:

http://perfectionkills.com/understanding-delete/

+0

這甚至意味着什麼? – jondavidjohn 2011-12-16 19:10:49

1

delete將指定的成員(可變/陣列/對象)的值設置爲undefined

陣列/對象實例...

因爲classes[i]實際上引用i索引的陣列。這將是特定索引位置設置爲undefined,保留在陣列中的位置...

0

我認爲你可以使用簡單的$('p').removeClass('myClass yourClass')與jQuery和放在一起的功能,對任何元素