2011-06-25 87 views
0

我想用 '30'替換所有的字符串中的DOM元素

全部更換 '20' 的ID = 「olderpost」 裏面我做了以下內容:

<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

replace不改變字符串。試試這個:

$('#olderpost').html($('#olderpost').html().replace(/20/g, '30')); 
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'); 
});