例で完全に説明された答えはここで見つけることができます:http://jsfiddle.net/xHcPU/
//elem.childNodes is a NodeList containing all child nodes of the array
//This includes every node - text and elements
// https://developer.mozilla.org/En/DOM/Node.childNodes
var childNodes = document.getElementById( 'special' ).childNodes;
//arr.reduce receives an array-like object and a callback
// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/Reduce
//We use func.call to call arr.reduce with the childNodes as the this variable
// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call
var out = [].reduce.call( childNodes, function ( ret, child ) {
//if a node's nodeType is 3, you can safely say it's a text node
// https://developer.mozilla.org/en/nodeType
if ( child.nodeType === 3 ) {
ret += child.nodeValue.trim();
}
//if it's any other node, we just ignore it
return ret;
}, '' );
//out will now contain the string you seek
ここで使用されている2つのES5関数、Array.prototype.reduce
およびString.prototype.trim
は、シム、独自の実装、または存在する場合は同等のjQueryに簡単に置き換えることができることに注意してください。同等のものは思い出せませんreduce
が、存在すると思いますtrim
。