素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

要素の小要素を取得する

いろいろ調べたけど、下のような原始的な方法をとるしかないようだ。

function getChild(parent)
	Array.filter(parent.childNodes,function(elem) elem.nodeType == Node.ELEMENT_NODE);

ほかには、XPathを使って

function getChild2(parent) {
	var xp = document.evaluate("./*", parent, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null),
	r = [];
	for (var i = 0;i < xp.snapshotLength;i++) r.push(xp.snapshotItem(i));
	return r;
}

とすることもできるけど、やや大げさ。

やっぱ$Xみたいなユーティリティ関数を使った方がいろいろと楽。