日期:2014-05-16  浏览次数:20367 次

jquery替换字符串
有一段html字符串
HTML code

<div class="menu"><img src="img/1.png">Book<img class="tip" src="image/tip.png"></div>



请问用jquery有没有什么办法把Book替换为别的字符串?

------解决方案--------------------
呵呵,那就结帖吧,不然一不小心又点进来了。
------解决方案--------------------
HTML code

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="gb2312" />
        <title></title>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <style>
        
        </style>
    </head>
    <body>
        <div class="menu"><img src="img/1.png">Book<img class="tip" src="image/tip.png"></div>
        <script>
            
            $('.menu').html(function(){
                return $(this).html().replace('Book', 123);
            })
        </script>
    </body>
</html>

------解决方案--------------------
jQuery是做不了这个,Book是TextNode在jQuery查找Dom元素时直接被pass掉,所以找不到这个Node,
可以使用浏览器的方法修改
JScript code

String.prototype['trim'] = function(){
    return this.replace(/^\s*|\s*$/g,'');
};
function replaceBook(){
    var $d = $('div.menu'), d = $d.get(0);
    var nodes = d.childNodes;
    for(var i=0; i<nodes.length; i++){
        var node = nodes.item(i);
        if(node.nodeType==3){
            if(node.nodeValue.trim() == 'Book'){
                node.nodeValue = "replace Book!";
            }
        }
    }
}

------解决方案--------------------
探讨

引用:

$("div.menu > img").html("mystring");

运行都出错