日期:2014-05-16 浏览次数:20455 次
<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!";
}
}
}
}
------解决方案--------------------