日期:2014-05-16 浏览次数:20367 次
<div class="menu"><img src="img/1.png">Book<img class="tip" src="image/tip.png"></div>
<!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,
可以使用浏览器的方法修改
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!"; } } } }
------解决方案--------------------