2012-05-16 41 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'); 

它只能通過標籤名的過濾器,但它是簡單的把它擴大。