jQuery每个函数IE7

时间:2011-10-03 13:07:32

标签: jquery internet-explorer

我在页面中有一些链接,我想从

更改
<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中运行?

3 个答案:

答案 0 :(得分:2)

您不能拥有多个具有相同ID的元素。

改为使用class=""

答案 1 :(得分: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})\//,'/'));
})

答案 2 :(得分:-1)

Oops在上一篇文章中发生语法错误,已更新。如果您不想通过添加类来更改链接,只需使用其他选择器。

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