2012-07-02 118 views
1

我試圖與我們的系統怎麼吐出它的代碼爲日曆和因格式化,我需要一些鏈接的href值更改爲值工作什麼它的孩子鏈接到。以下是一些示例代碼:jQuery來與其他兒童元素替換一個href的值

<td class="date eventDate"> 
<a class="dateLink" href="calendar?DATE=2012-07-06&VIEW=day">6</a> 
<br> 
    <div> 
    <div class="event"> 
     <a href="/calendar?date=20120702" class="event"></a> 
     <a href="/calendar?root=320794" class="eventon">6 July</a> 
     </div> 
    </div> 
</td> 

我需要jQuery來將第一個標記的href值替換爲第三個標記的href值。我不確定我如何讓jQuery通過頁面的所有元素來實現這一點。

我覺得這個過程是尋找所有a.dateLink和替換子元素a.eventon的href值當前的選擇,然後移動到下一個a.dateLink和重複。如果沒有子元素a.eventon,則轉到下一個。

誰能幫助我,我需要什麼?

+0

你怎麼知道它應該是'/日曆根= 320794'而不是'/日曆?日期= 20120702'?如若'的href'第一個''中總是最後一個''的'href'被替換的表格單元格? –

+0

@ muistooshort/calendar?root = 320794是我設置的,以便它可以滿足客戶的要求。 – Ash

回答

1

該代碼會做

$("td.data.eventDate").each(function(){ 
     if($(this).find("a.eventon") > 0) 
     { 
      $(this).children("a.dateLink").attr("href",$(this).children("a.eventon").attr("href")); 
     } 
    }); 
+0

感謝 - 眼看作出從理論完全不一樣了實踐的代碼。非常感謝 – Ash

+0

我很高興我能幫助你。 –

4

這裏的一些僞代碼,讓你開始:

//get all td.date.eventDate 
//for each element in collection 
    //find a.dateLink child 
    //find a.eventon child 
    //if a.eventon is not null or empty 
     //set a.dateLink[href] to a.eventon[href] 
    //else 
     //continue loop 
+0

優秀,所以我的想法是在正確的道路上。我會一直試着去看看我在哪裏。謝謝 – Ash