Ped*_*o P 5 javascript regex jquery replace href
可能重复:
使用jQuery更改href参数
我有一个页面,其中包含以下几个链接:
<a href="playcats.php?cat='.$catname.'&sl=10" class="golink">
Run Code Online (Sandbox Code Playgroud)
所以在PHP页面加载后它将如下所示:
<a href="playcats.php?cat=blue&sl=10" class="golink">
<a href="playcats.php?cat=red&sl=10" class="golink">
<a href="playcats.php?cat=yellow&sl=10" class="golink">
...
Run Code Online (Sandbox Code Playgroud)
我想使用jQuery部分更改所有链接的sl值的href(sl值从slider = data.value中选取)
我有这个:
$(document).ready(function() {
$('a.golink').each(function() {
var _href = $(this).attr('href');
$(this). ( rest of code.. )
} );
});
Run Code Online (Sandbox Code Playgroud)
现在我不知道如何使用正则表达式替换,因为我认为它是解决方案!
你可能会这样做
$(this).attr('href', _href.replace(/sl=[^&]+/, 'sl=newval'));
Run Code Online (Sandbox Code Playgroud)
替换sl'newval' 的值.
您还可以使用函数来构建新值.例如,假设您想要将旧的sl值乘以2,您可以这样做:
$(this).attr('href', _href.replace(/sl=([^&]+)/, function(_, oldval) {
return 'sl='+(2*parseInt(oldval,10))
}));
Run Code Online (Sandbox Code Playgroud)
你甚至可以避免使用each:
$('a.golink').attr('href', function(i, v){
return v.replace(/sl=([^&]+)/, function(_, oldval) {
return 'sl='+(2*parseInt(oldval,10))
})
});
Run Code Online (Sandbox Code Playgroud)
演示(通过链接查看href)
| 归档时间: |
|
| 查看次数: |
8462 次 |
| 最近记录: |