2009-12-28 3 views
2

jQuery 객체를 조작하여 첫 번째 항목을 마지막 항목으로 만들고 두 번째 항목을 첫 번째 항목으로, 세 번째 항목을 두 번째 항목으로 만드는 등의 작업을 수행하고 있습니다.jQuery 객체에서 .add (.shift())를 수행하는 방법

myArray = [ "a", "b", "c", "d", "e" ]; 
myArray.add(myArray.shift()); 
// done. 

어떻게 내가 jQuery를 객체로이 작업을 수행 할 수 있습니다이 간단 할 것입니다 배열로

?

myObject = $('.myDiv').children(); 
myObject.nowWhat(?) 

도움 주셔서 감사합니다.

답변

3

다음은이를 수행해야합니다 업데이트합니다

arr = $('.myDiv').children().get(); 
myObject = $(arr); //wrapped it again to a jquery object 
myObject.add(arr.shift()); 
myObject.someJQueryEventFunc(); 

의 get()이 일치하는 모든 요소의 배열을 반환합니다.

GET (인덱스)가 ID로 사업부를 확인하고이 같은 클래스하지 않을 수 없습니다 더 나은 것,

+0

이 작동하지 않습니다. slide TypeError : 'slidePointers.shift'표현식 결과 [undefined]가 함수가 아닙니다. – thomasdecrick

+0

우리에게 약간의 발췌 문장을 보여줄 수 있습니까? – jerjer

+0

여기에 스 니펫이 있습니다. http://pastie.org/758615 – thomasdecrick

1
$('.myDiv').find(':first').remove().appendTo('.myDiv'); 

그러나 일치하는 요소의 하나의 요소를 반환 확실히 당신이 기대하는 것 myDiv 클래스에 하나 이상의 요소가있는 경우

$('.myDiv').each(function (index, div) { 
    $(div).find(':first').remove().appendTo(div); 
}); 

당신은 당신의 코멘트에 기술 된 기능을 수행하는 기능이 포장 할 수 있습니다 :이 경우이 작업을 수행해야합니다

transformFirstThree('.myDiv'); 
rotate('.myDiv'); 
transformFirstThree('.myDiv') 


function transformFirstThree (selector) { 
    $(selector).find(':lt(3)').each(function (index, item) { 
     // do whatever 
    }); 
} 

function rotate (selector) { 
    $(selector).each(function (index, div) { 
     $(div).find(':first').remove().appendTo(div); 
    }); 
} 
+0

내가 필요로하는 것은 완전하지 않습니다. myObject를 사용하여 처음 3 가지 항목에 3 가지 다른 기능을 적용합니다. 그 후, 개체 항목을 하나의 위치를 ​​위로 이동시켜야 함수를 다시 수행 할 수 있습니다. 나는 회전 목마를 만들려고 노력하고있다. – thomasdecrick

+0

내 개정판을 참조하십시오. – Rich

0
var x = $('.mydiv').children(); 
console.log (x[0]); 
console.log (x[1]); 
var arr= x.slice (1); 
arr.push(x[0]); 
console.log (arr[0]); 
0

방금 ​​이런 식으로 구현해야했습니다. 기본적으로 내가 무슨 짓을했는지 것은 :

귀하의 경우
$parent 
    .find(elementSelector + ':lt(' + numberOfElementsToShift + ')') 
    .insertAfter($parent.find(elementSelector + ':last')); 

, numberOfElementsToShift1이 될 것입니다. $parent은 정렬되지 않은 목록 일 수 있으며 elementSelectorli 문자열 일 수 있습니다.

요소의 첫 번째 요소 인 numberOfElementsToShift을 선택하고 모든 요소의 끝으로 이동합니다.

n - numberOfElementsToShift 번 이동하는 것보다 한 번 끝까지 곧바로 요소를 이동하는 것이 효과적입니다.

관련 문제