14

データベースからのリンクはウェブサイトのタイトルであり、「 Interesting Article : Author」というページに表示されますが、リンクが「 Where's China? : GoogleMaps」という質問になることもあります。はばかげているように見えるので、HTMLを?:に置き換えたいと思いました。?</span>:?</span>

これが私が取り組んだjQueryです:

$('#relatedinfo ul li a').html().replace('?</span>:','?</span>');

しかし、これは実際には DOM でそれを置き換えません。その文字列を実際にページを変更するにはどうすればよいですか?

4

2 に答える 2

26

私はお勧めします:

$('#relatedinfo ul li a').html(function(index,html){
    return html.replace(/<\/span>(\:)/,'');
});

JS フィドルのデモ

あるいは:

$('#relatedinfo ul li a').text(function(index,text){
    return text.replace(':','');
});

JS フィドルのデモ

更新されたアプローチは、 の最後の文字がspanの配列にあることを確認し['?','!','.']、存在する場合は、:nextSibling の nodeValue からを削除することです。

$('#relatedinfo ul li a span').text(function(index,text){
    var lastchar = text.split('').pop();
    if (['?','!','.'].indexOf(lastchar) > -1) {
        this.nextSibling.nodeValue = this.nextSibling.nodeValue.replace(':','');
    }
});

JS フィドルのデモ

参考文献:

于 2013-03-04T14:26:13.313 に答える