Jquery 替换dom元素中的所有字符串

Jquery 替换dom元素中的所有字符串,jquery,Jquery,我想将id=“olderpost”中的所有“20”替换为“30” 我做了以下工作: <div id="olderpost"><a onclick="$.ajax({ dataType: 'script', url: '/actions/olderpost/20'}); return false;" href="/actions/olderpost/20">View older actions</a></div> $('#olderpost').h

我想将id=“olderpost”中的所有“20”替换为“30”

我做了以下工作:

<div id="olderpost"><a onclick="$.ajax({ dataType: 'script', url: '/actions/olderpost/20'}); return false;" href="/actions/olderpost/20">View older actions</a></div>

$('#olderpost').html().replace('20', '30');

$('#olderpost').html().replace('20','30');

但是没有发生任何更改。

replace
不会改变字符串。试试这个:

$('#olderpost').html($('#olderpost').html().replace(/20/g, '30'));

您的代码是多余的-您在代码中有两次相同的URL。为了消除这种冗余,我提出以下初始状态:

HTML:

因此,URL存储在锚的
href
属性中。然后,如果启用了JavaScript,单击处理程序将发出一个Ajax请求,该请求的URL将取自同一
href
属性

要替换URL,只需修改锚定的
href
属性:

$('#olderpost a').attr('href', function(i, v) {
    return v.replace('20', '30');
});
$('#olderpost a').click(function(e) {
    e.preventDefault();
    $.ajax({dataType: 'script', url: $(this).attr('href')});
});
$('#olderpost a').attr('href', function(i, v) {
    return v.replace('20', '30');
});