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

时间:2011-06-25 20:36:32

标签: jquery

我想用'30'

替换id =“olderpost”中的所有'20'

我做了以下事情:

<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');

但没有改变。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

HTML:

<div id="olderpost">
    <a href="/actions/olderpost/20">View older actions</a>
</div>

JavaScript的:

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

因此,URL存储在锚点的href属性中。然后,如果启用了JavaScript,则单击处理程序将发出Ajax请求,并且该请求的URL将从相同的href属性中获取。

要替换网址,只需修改锚点的href属性:

$('#olderpost a').attr('href', function(i, v) {
    return v.replace('20', '30');
});