2012-07-02 69 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