親の を選択し.childNodes
、コレクションを繰り返します。テキスト ノードには の が.nodeType
あり 3
ます。次に、.data
プロパティを使用してノードからテキストをフェッチします。
var elems = document.querySelector(".cart_text2").childNodes;
var result = [];
for (var i = 0, len = elems.length; i < len; i++) {
if (elems[i].nodeType === 3)
result.push(elems[i].data);
}
IE8をサポートするために.querySelector
代わりに使用しました。getElementsByClassName
使用.innerHTML
方法は、要素に対するブラウザの特定の HTML レンダリングによって異なりますbr
。DOM をトラバースする方が安全です。
jQuery を使用すると、次のように実行できます。
var result = $(".cart_text2").contents().map(function(i, node) {
if (node.nodeType === 3)
return node.data;
}).toArray();