我已经完成并手工完成了这个任务,但我认为这可以通过一些jquery快速完成。获取前一个兄弟的href并更新当前项的href
我有一张桌子,下面有几十个示例行。我想要做的是找到<a href="#">
的以前的兄弟姐妹,抓住他们的URL,将文件类型更改为.doc并应用。
<tr id="node-20" class="child-of-node-19">
<td>Tips</td>
<td>
<a href="docs/Interview-Info.pdf">
<img width="20" height="20" src="/images/icons/icon-pdf.gif" alt="PDF" />
</a>
<a href="#">
<img width="20" height="20" src="/images/icons/icon-word.gif" alt="Microsoft Word" />
</a>
</td>
</tr>
所以一旦javascript完成,生成的源代码将如下所示。
<tr id="node-20" class="child-of-node-19">
<td>Tips</td>
<td>
<a href="docs/Interview-Info.pdf">
<img width="20" height="20" src="/images/icons/icon-pdf.gif" alt="PDF" />
</a>
<a href="docs/Interview-Info.doc">
<img width="20" height="20" src="/images/icons/icon-word.gif" alt="Microsoft Word" />
</a>
</td>
</tr>
我最后的变动是:
$('a+a[href="#"]').attr('href',$('a+a[href="#"]').prev().attr('href'));
这最终得到的第一个网址,并将其应用到所有的<a href="#">
。因此Interview-Info.pdf适用于所有这些链接。
这是因为时间有限而得到的。有一个简单的做法吗?
谢谢!这完美地完成了这个技巧。我曾尝试过使用“this”的变体,但我使用了错误的语法 – Fireflight 2010-10-21 14:33:04