0

我想更改链接的 URL。

这是代码

<div id="content">
  ...
  <a href="/mbs/articleVC.php?mbsC=freebbs&mbsIdx=822907&cpage=10">link</a>
  <a href="/mbs/articleVC.php?mbsC=freebbs&mbsIdx=822908&cpage=11">link</a>
  <a href="/mbs/articleV.php?mbsC=freebbs&mbsIdx=802894&cpage=&mbsW=search&select=stt&opt=1&keyword=keyword1">link</a>
  <a href="/mbs/articleV.php?mbsC=freebbs&mbsIdx=802895&cpage=&mbsW=search&select=stt&opt=1&keyword=keyword2">link</a>
  ...
</div>

用。。。来代替:

<div id="content">
  ...
  <a href="/mbs/articleV.php?mbsC=freebbs&mbsIdx=822907&cpage=10">link</a>
  <a href="/mbs/articleV.php?mbsC=freebbs&mbsIdx=822908&cpage=11">link</a>
  <a href="/mbs/articleV.php?mbsC=freebbs&mbsIdx=802894&cpage=&mbsW=search&select=stt&opt=1&keyword=keyword">link</a>
  <a href="/mbs/articleV.php?mbsC=freebbs&mbsIdx=802895&cpage=&mbsW=search&select=stt&opt=1&keyword=keyword2">link</a>
  ...
</div>

页面上有很多链接。
如何使用 jQuery 将“文章VC .php”替换为“文章V .php”?

4

6 回答 6

1

第一个更好更快

$('#content a').attr('href', function(index, Oldhref) {
  return Oldhref.replace(/articleVC/ ,'articleV')
});

或者

$('#content a').each(function() {
  $(this).attr('href', $(this).attr('href').replace(/articleVC/ ,'articleV'));
});
于 2012-05-08T17:35:30.650 回答
1

你可以试试:

$('#content a[href*="articleVC.php"]').each(function() {
    href = $(this).attr('href').replace('articleVC.php' ,'articleV.php');
    $(this).attr('href', href);
});​​

在这里测试

于 2012-05-08T17:40:48.580 回答
1
$('a', '#content').each(function() {
    this.href = this.href.replace('articleVC', 'articleV');
});​

如果由于某种原因更快更好:-)

var elms = document.getElementsByTagName('a');
for (i=0; i<elms.length; i++) {
    elms[i].href = elms[i].href.replace('articleVC', 'articleV');
}
于 2012-05-08T17:40:54.687 回答
0

您可以使用:

$('#content a').each(function() {
    $(this).attr('href', $(this).attr('href').replace('articleVC.php','articleV.php'));
});

希望这可以帮助 :)

于 2012-05-08T17:36:44.667 回答
0
$('a').each(function() {
    $(this).attr('href', $(this).attr('href').replace('articleVC.php', 'articleV.php'));
});

您可以使用该each函数遍历所有匹配的<a>元素,为每个元素通过调用获取“href”属性attr('href'),使用replace方法String获取替换的字符串,然后将其再次分配给“href”属性。

于 2012-05-08T17:38:21.157 回答
0

您可以使用正则表达式来实现这一点。

使用 jQuery: ( jsfiddle )

$('#content a').each(function() {
    this.href = this.href.replace(/articleVC\.php/, 'articleV.php');
});

在香草 JavaScript 中:(jsfiddle

var links = document.getElementById('content').children;
for(l in links) {
    links[l].href = links[l].href.replace(/articleVC\.php/, 'articleV.php');
};
于 2012-05-08T17:47:02.967 回答