Jquery 替换dom元素中的所有字符串
我想将id=“olderpost”中的所有“20”替换为“30” 我做了以下工作: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
<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');
});