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

これは、正規表現を使用して実現できます。

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 に答える
0
$('a').each(function() {
    $(this).attr('href', $(this).attr('href').replace('articleVC.php', 'articleV.php'));
});

この関数を使用しeachて、一致したすべての<a>要素を反復処理できます。各要素は、を呼び出して「href」属性を取得し、メソッドをattr('href')使用して置換された文字列を取得してから、「href」属性に再度割り当てます。replaceString

于 2012-05-08T17:38:21.157 に答える