2010-06-24 62 views
1

第一部分: 我想弄清楚如何使用DOM和Javascript來創建一個包含多個鏈表的數組。 問題是我需要每個UL有一個獨特的數組包含鏈接;在這種情況下,我能夠使用的唯一ID爲 的是鏈接標記中的名稱值。我將無法將其他任何內容添加到標記中。 javascript引用將需要包含在一個腳本中,並且在腳本底部的 處有一個引用。兩個需要幫助創建動態JavaScript陣列

部分: 我最終需要做的,是隱藏每個表的,而只有前兩個環節有一個「查看全部」鏈接下面的兩個鏈接沿着取代他們, ,點擊時,將其他兩個鏈接添加到列表中。

再次,我不能添加任何標記,divs等等;它必須完全基於以下信息,DOM和 javascript。

感謝您的任何幫助,您可以提供!

我使用jQuery我的解決方案
<ul> 
    <li> 
     <a href="#" name="obj_a">Section One, Article One</a> 
    </li> 
    <li> 
     <a href="#" name="obj_b">Section One, Article Two</a> 
    </li> 
    <li> 
     <a href="#" name="obj_c">Section One, Article Three</a> 
    </li> 
    <li> 
     <a href="#" name="obj_d">Section One, Article Four</a> 
    </li> 
</ul> 

<ul> 
    <li> 
     <a href="#" name="obj_e">Section Two, Article One</a> 
    </li> 
    <li> 
     <a href="#" name="obj_f">Section Two, Article Two</a> 
    </li> 
    <li> 
     <a href="#" name="obj_g">Section Two, Article Three</a> 
    </li> 
    <li> 
     <a href="#" name="obj_h">Section Two, Article Four</a> 
    </li> 
</ul> 
+1

這很好,你有一個清晰的[軟件需求文檔](http://en.wikipedia.org/wiki/Software_Requirements_Specification)。你做了什麼? – Anurag 2010-06-24 20:28:14

+0

關於第二部分描述的最終目標(你提到它的好處):我不會使用第一部分中描述的列表數組來做到這一點。如果您無法更改標記,我會動態地向所有列表項中添加一個類,除了前兩個外,例如'.extra-item'等等,並且用onclick-event添加一個按鈕/ span /無論如何切換'ul'的類名,例如。到'.invisible'。如果你在你的CSS中添加了'.invisible .extra-item {display:none}',當點擊切換按鈕/ span/whatever時,除了前兩個項目之外的所有項目都將被隱藏或顯示。 – 2010-06-24 20:30:50

回答

2

;一)

部分:

var list = new Array(); 
$.each($('ul'), function(index, value) { 
    list.push(new Array()); 
    $.each($(value).find('li a'), function(index2, value2){ 
    list[list.length - 1].push(value2.href); 
    }); 
}); 

兩個部分:

我真的不明白的要求,但看看jQuery它確實使這些很容易。

+0

這聽起來像一個Javascript庫不是一個選項,由於「JavaScript參考需要包含在一個腳本中」的要求。這是這種情況嗎,OP? – 2010-06-24 20:44:09

+1

您可以在腳本中添加JS庫,問題在哪裏,您不需要將jQuery放入其他文件中。 – 2010-06-24 20:52:30

+0

否定的;在這種情況下,我可以訪問雅虎YUI庫,但不能訪問jQuery。 我認爲馬塞爾的上述想法雖然可能出色。 – Michael 2010-06-24 20:59:18