2011-10-03 117 views
1

我有一個網頁一些鏈接,我想從jQuery的每個功能IE7

<span id="lireArticle"> 
<a href="/Lists/ListeActualitesCarrousel/4_.000/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
</span> 

<span id="lireArticle"> 
<a href="/Lists/ListeActualitesCarrousel/2_.000/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
</span> 

<span id="lireArticle"> 
<a href="/Lists/ListeActualitesCarrousel/3_.000/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
</span> 

改變

<span id="lireArticle"> 
    <a href="/Lists/ListeActualitesCarrousel/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
    </span> 

    <span id="lireArticle"> 
    <a href="/Lists/ListeActualitesCarrousel/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
    </span> 

    <span id="lireArticle"> 
    <a href="/Lists/ListeActualitesCarrousel/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
    </span> 

這在Firefox,IE9,IE8但不IE7

它只是改變了IE7

jQuery("#lireArticle a").each(function(){ 
     jQuery(this).attr('href',jQuery(this).attr('href').replace(/\/(\d)_.(\d{3})\//,'/')); 
}) 

第一個鏈接我怎樣才能得到它在IE7中工作?

+1

它是否發出任何錯誤? – yoda

+1

請描述它應該做什麼,以及實際發生了什麼。 – Spudley

+0

我在IE7中的問題 – user472285

回答

2

不能有多個具有相同ID的元素。

改爲使用class=""

+0

好抓住了! – user472285

0

問題是您在頁面上多次使用相同的ID。元素的ID應該是唯一的。您的代碼正在查找ID爲「lireArticle」的元素的第一個實例並更改其所有a的元素。我建議改用class=""

標記:

<span class="lireArticle"> 
    <a href="/Lists/ListeActualitesCarrousel/4_.000/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
</span> 

<span class="lireArticle"> 
    <a href="/Lists/ListeActualitesCarrousel/2_.000/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
</span> 

<span class="lireArticle"> 
    <a href="/Lists/ListeActualitesCarrousel/3_.000/DispForm.aspx?ID=4" class="action">Lire l'article</a> 
</span> 

的JavaScript:

jQuery(".lireArticle a").each(function(){ 
     jQuery(this).attr('href',jQuery(this).attr('href').replace(/\/(\d)_.(\d{3})\//,'/')); 
}) 
-1

哎呀以前的崗位上做出了語法錯誤,更新。如果您不想通過添加類來更改鏈接,請使用其他選擇器。

$('a[href^="/Lists/ListeActualitesCarrousel"]').each(function(){ 
    var newURL = $(this).attr('href').replace(/\/(\d)_.(\d{3})\//,'/'); 
    $(this).href(newURL); 
});