Javascript Xui.js.children()可选

Javascript Xui.js.children()可选,javascript,jquery,xui,Javascript,Jquery,Xui,对于jQuery的.children(),xui.js(或纯javascript,如果需要)的替代方案是什么 更具体地说,我试图获取$x(this)的子元素,但$x(this)。子元素('p')不起作用(如中所示,它似乎不存在于库中。根据Firebug,它不被识别,也不存在于xuijs文档中)。不确定该库,但如果您有本机DOM元素,本机JS可能如下所示: [].filter.call(this.children, function(el, i) { return el.nodeName

对于jQuery的
.children()
,xui.js(或纯javascript,如果需要)的替代方案是什么


更具体地说,我试图获取
$x(this)
的子元素,但
$x(this)。子元素('p')
不起作用(如中所示,它似乎不存在于库中。根据Firebug,它不被识别,也不存在于xuijs文档中)。

不确定该库,但如果您有本机DOM元素,本机JS可能如下所示:

[].filter.call(this.children, function(el, i) { 
    return el.nodeName.toLowerCase() === 'p'; 
});
如果您支持传统浏览器,您可以从MDN获得
Array.prototype.filter
的垫片


您也可以轻松地创建一个可重用的函数

function children(elem, s) {
    return [].filter.call(elem.children, function(el, i) { 
        return el.nodeType === 1 && (!s || el.nodeName.toLowerCase() === s); 
    });
}


它只按标记名进行过滤,但扩展起来很简单。

“不起作用”提供的信息很少。解释问题是如何表现出来的。就像在中一样,它并不存在。文档显示知道该函数,firebug通过不识别该函数来确认它。我不认为这是图书馆的一部分。
children(this, 'p');