2011-03-07 26 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

相關問題