2011-02-07 66 views
0

我想隱藏的所有網頁上通過JavaScript在_dropMenu結束...元素的一部分,所以這是我如何循環的元素,雖然基於DOM名

window.onload = function() { 
    hideNav(); 
}; 

    function hideNav(){ 
     myArray = element("_dropMenu");// this is what need changing 
     for (i=0;i<=5;i++) 
     { 
     i.style.visibility = 'hidden'; 
     } 
    } 

這顯然是錯誤,但我怎麼首先獲得以_dropMenu結尾的頁面上的所有元素,然後通過它們循環並將它們設置爲隱藏...我寧願使用JavaScript,因爲我只在頁面上有原型,但如果我需要添加jQuery,我會...

+0

元素是否必須以_dropMenu結尾,或者您可以更改標記以添加_dropMenu類?我唯一的理由是因爲這會讓你更容易完成你所需要的。 – Loktar 2011-02-07 17:34:58

+0

它是在'_dropMenu'中結束的元素ID嗎? – 2011-02-07 17:35:13

回答

6

jQuery有一個選擇器,用於查找具有以給定字符串結尾的屬性的元素:

$('[id$="_dropMenu]') 

如果您可以通過元素類型縮小範圍(例如,如果你關心的所有元素都是div,或者其他的),但是會按原樣工作。

在幕後,jquery只是遍歷給定的一組元素,並檢查element["id"].substring(element["id"].length-"_dropMenu".length)==="_dropMenu"

1

只是指出的原型是非常類似的jQuery在這種情況下:

$$('[id$="_dropMenu"]').invoke('hide'); 

榮譽Jishnu & JacobM爲首先得到選擇。