我在页面中有一些链接,我想从
更改<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中运行?
答案 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);
});