2012-05-16 2 views
0

jQuery의 .children() 대신 xui.js (또는 필요한 경우 순수 자바 스크립트)를 사용하십시오.Xui.js .children() alternative

더 구체적으로 말하자면, 의 자식을 얻으려고 시도하지만 $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'); 

그것은 단지 태그 이름으로 필터링,하지만 그것을 확장이 간단 할 것입니다.