2011-03-07 25 views
0

我想从<div class="ms-vb itx">获取网址,并将其替换为以下范围内的href。 这是可行的JQuery中? 确实有意义吗?jquery从div获取网址,并将其插入跨度

<td height="100%" class="ms-vb-title ms-vb-lastCell" onmouseover="OnChildItem(this)"> 
<div eventtype="" perm="0x7fffffffffffffff" field="LinkTitle" id="5" ctxname="ctx6" onmouseover="OnItem(this)" class="ms-vb itx"> 
<a target="_self" onclick="EditLink2(this,6);return false;" href="/_layouts/RF.Portal.Web/DetailActualite.aspx?4&amp;ListId={5B770E71-5269-4F45-87A0-2DEFA1136E40}&amp;ID=5&amp;ContentTypeID=0x0100FBEA8B5F8E1448F4B48C33A18522E2DA01001677EA3C9B9802408D15440E3B1906DE" onfocus="OnLink(this)">icitait l'honneur d'être reçu,</a> 
<img class="ms-newgif" title="Nouveau" alt="Nouveau" src="/_layouts/1036/images/new.gif"> 
</div> 
<div onmouseover="OnChildItem(this.parentNode); return false;" class="s4-ctx" style="top: 52px; left: 1015px; height: 105px; line-height: 105px; margin: 0px;"> 
<span>&nbsp;</span> 
<a title="Menu Ouvrir" href="javascript:;" onclick="PopMenuFromChevron(event); return false;" onfocus="OnChildItem(this.parentNode.parentNode); return false;"> 
<img style="visibility: hidden;" src="/_layouts/images/ecbarw.png" alt="Menu Ouvrir"></a> 
<span>&nbsp; 
</span> 
</div> 
<span style="color: rgb(128, 128, 128);"><em> 
      Publié le 07/03/2011 11:30 - 
      En cours</em></span><br> et ayant nom Athos, Porthos et Aramis. Nous l'avouons, ces trois noms étrange<br><br> 
      <span style="font-size: 0.9em; color: rgb(128, 128, 128);" id="lireArticle"> 
      <a class="rfr-link-action" href="DispForm.aspx?ID=5">Lire l'article</a> 
     <br><br></span> 
     </td> 
+0

你如何识别你想从URL取得的div? – 2011-03-07 11:09:35

+0

由ms-vb itx – user472285 2011-03-07 11:18:42

回答

3

当然,你只需要确保你选择了正确的元素。

如:

var $div = $('div.ms-vb.itx'); 
$div.next('span').find('a').attr('href', $div.find('a').attr('href')); 

如果你有这些类的详细内容,并要执行此为他们每个人,你可以使用each()

$('div.ms-vb.itx').each(function() { 
    $(this).next('span').find('a').attr('href', $(this).find('a').attr('href')); 
}); 

更新:

好吧,我假设你有几个div s在你的桌子里,你想要做的是为了所有人。

要改变a元素似乎有一个类rfr-link-action,这样你就可以利用这一点。请注意,尽管您的span元素有一个ID,但ID在文档中必须是唯一的。没有两个元素可以具有相同的ID。

$('div.ms-vb.itx').each(function() { 
    $(this).closest('td') // gets a reference to the table cell 
    .find('a.rfr-link-action') // finds the link 
    .attr('href', $(this).find('a').attr('href')); // sets the URL 
}); 
+0

不工作:(类型错误:(“MS-VB”)$为空 – user472285 2011-03-07 11:39:35

+0

@ user472285:工作对我来说:http://jsfiddle.net/z8ZVU/也许您的标记是不同的,那么就不会当然的工作,或者你有一个错误在其他地方你能提供一个链接到该网站 – 2011-03-07 12:01:40

+0

嗯,怪我已经更新了标记 – user472285 2011-03-07 13:05:53

0

试试这个:

url = $('.ms-vb a').attr('href'); 
$('#your_span_id a').attr('href', url); 

但是你应该有一个方法来识别您的divspan,例如添加id属性或不适用。

+0

酷,似乎工作:)如何使这适用于页面上的所有div?像一个.eachfunction? – user472285 2011-03-07 11:52:36

相关问题