2011-10-03 98 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); 
});