2012-05-16 42 views
0

什么是jQuery的.children()的xui.js(或者纯javascript如果需要)。Xui.js .children()替代

更具体地说,我试图让$x(this)的孩子,但$x(this).children('p')不起作用(如在图书馆似乎并不存在,它不是根据Firebug识别,也不是xuijs文档)。

+0

“不工作”提供的信息很少。解释问题是如何体现的。 – HBP

+0

如在,它不存在。文档显示知道这样的功能,并且萤火虫通过不识别该功能来确认它。我不认为它是图书馆的一部分。 – Brian

回答

1

不知道这一点的库,但如果你有本地的DOM元素,本机JS看起来是这样的:

[].filter.call(this.children, function(el, i) { 
    return el.nodeName.toLowerCase() === 'p'; 
}); 

如果你支持旧版浏览器,你可以从一个垫片为Array.prototype.filter MDN。

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'); 

它只能通过标签名的过滤器,但它是简单的把它扩大。