요소는 모든 아이들과 함께 복제됩니다 -하지만 그 형제 자매의와 (즉 가지 분명한 사실이야, 나는 가정한다). 해당 문서를 인용 :
.clone()
방법은 의미 일치 요소의 집합의 깊은 복사를 수행하는 복사합니다 일치하는 요소뿐만 아니라 자손 요소와 텍스트 노드의 모든 . 더 나은 귀하의 케이스에 맞는 중 또는 자손 -
는 당신이 실제로 할 필요가 자사의 직접 아이들 중 하나를 확인 후, (귀하의 경우 '# 블록 - 평가')가 '루트'섹션을 복제하는 것입니다.
// Put testimonials in slides
var testimonialEls = $("#block-testimonials");
var testimonialCache = testimonialEls.clone();
console.dir(testimonialCache.find("article").not(".featured,.featured-wide"));
console.dir(testimonialEls.find("article").not(".featured,.featured-wide"));
Demo. 다른 방법으로, 당신은 다음 .filter()에 필요한 것들을 확인 만 잎 요소를 저장할 수 있습니다 :
var testimonialEls = $("#block-testimonials").children();
// ...
console.dir(testimonialEls.filter("article").not(".featured,.featured-wide"));
... 그것은 또한 당신에게 동일한 결과를 줄 것이다. 당신은 단지 당신의 캐시에 article
요소를 포함 할 필요가있는 경우 그러나, 명시 적으로 이러한 제한을 설정
var testimonialEls = $("#block-testimonials").children('article');
// ...
console.dir(testimonialCache.not(".featured,.featured-wide"));
이제
article
확인
분명히 중복 - .filter()
전화는 그 이유는, 그 캐시에 다른 요소가 없을 것 더 이상 필요하지 않습니다.
"정상입니까?" 예, 특정 요소를 복제해도 모든 형제/자손도 DOM도 복제되지 않습니다 ... 형제 자매를 복제하거나 아무도 알지 못하는 여기에서하려는 모든 작업을 복제해야합니다. 편집 : 복제는 요소의 복사본을 만듭니다.이 사본은 DOM의 일부가 아니므로 형제를 대상으로 할 수 없습니다. 어쩌면 모든 자식이 복제 된 요소의 일부가되도록 부모를 복제하는 것일 수도 있습니다. –
@ A.Wolff 제 경우에는 특별히 까다로운 것은 없습니다 : http://jsfiddle.net/MUREY/ –
'filter()'를 사용하고 싶습니다. 여기, 아니'find()'http://jsfiddle.net/MUREY/3/ –