我的代碼是否正確?替換href鏈接文本
function replace_stuff() {
document.body.innerHTML = document.body.innerHTML.replace(/oldtexts/g,'');
}
我想一個a href
標籤之間移除字符串「oldtexts」像這樣 但<a href ="#">oldtexts</a>
我仍然看到oldtexts並沒有什麼被替換
我的代碼是否正確?替換href鏈接文本
function replace_stuff() {
document.body.innerHTML = document.body.innerHTML.replace(/oldtexts/g,'');
}
我想一個a href
標籤之間移除字符串「oldtexts」像這樣 但<a href ="#">oldtexts</a>
我仍然看到oldtexts並沒有什麼被替換
我沒有嘗試這一個,但是這可能工作。 (用了jQuery)
$('a[href]').each(function(i){
if($(this).html()=="oldtext") $(this).html(" ");
});
或
$('a[href]').each(function(i){
$(this).html($(this).html().replace(/regex/g,"blahblah"));//warning : if replaced text contains nothing(""), then this will not work.
});
您已經標記了jQuery的,所以我建議使用它:
$(function(){
$('a').each(function(){
var $this = $(this);
$this.html($this.html().replace(/oldtext/g, ''));
});
});
使用jQuery :)
$(document).ready(function(){
$('#idofatag').text('replacevalueofoldtexts');
});
如果你想通過點擊一個屁股觸發這個改變上
$(document).ready(function(){
$('#someButtonid').click(function(){
$('#idofatag').text('replacevalueofoldtexts');
});
});
如果您嘗試使用/\b(oldtexts)\b/g
或jQuery的.replace
會發生什麼?
由於您似乎在使用jQuery,因此最乾淨的解決方案似乎使用了function for .html()
。
$('a').html(function (index, oldhtml) {
return oldhtml.replace(/oldtexts/g, '');
});
如果你想編寫一個可重複使用的功能,你可以做到這一點,當然:
function replace_stuff(index, oldhtml) {
return oldhtml.replace(/oldtexts/g, '');
}
然後你就可以調用任何jQuery對象上:$('a').html(replace_stuff);
。
'oldtext'永遠不會匹配'/ oldtexts/g',還是隻是一個錯字? :) – DarthJDG 2011-05-12 07:36:17
@DarthJDG錯字謝謝 – sarsar 2011-05-12 07:37:09