jQuery の.children()
.
より具体的には、の子を取得しようとしていますが$x(this)
、$x(this).children('p')
機能しません (ライブラリに存在しないようです。Firebug によると認識されず、xuijs ドキュメントにもありません)。
jQuery の.children()
.
より具体的には、の子を取得しようとしていますが$x(this)
、$x(this).children('p')
機能しません (ライブラリに存在しないようです。Firebug によると認識されず、xuijs ドキュメントにもありません)。
そのライブラリについてはわかりませんが、ネイティブ DOM 要素がある場合、ネイティブ JS は次のようになります。
[].filter.call(this.children, function(el, i) {
return el.nodeName.toLowerCase() === 'p';
});
レガシーブラウザをサポートしている場合はArray.prototype.filter
、MDN から shim を入手できます。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter#Compatibility
また、再利用可能な関数も簡単に作成できます。
function children(elem, s) {
return [].filter.call(elem.children, function(el, i) {
return el.nodeType === 1 && (!s || el.nodeName.toLowerCase() === s);
});
}
children(this, 'p');
タグ名でフィルタリングするだけですが、拡張するのは簡単です。