一道题
题目如下:
怎么获取456abcd的值?
<div id="test"><a>123</a>456<span>789</span><img alt="" src="http://www.aaa.com" />abcd<div>abcd</div></div>
提示:456abcd是指div中的文本节点。
原生javascript答:
function trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } var test = document.getElementById("test"); var nodes = test.childNodes; var str = ""; for(var i=0,j=nodes.length;i<j;i++){ if(nodes.item(i).nodeType===3){ str += nodes.item(i).nodeValue; } } trim(str);
jquery答:
var test = $("#test").clone(); test.find("*").remove(); $.trim(test.text());