2011-06-10 2 views
0

내가 선택하고 jQuery를 내부에 무엇을 이해하려고 노력 중이 야, 내가 알파벳 순으로 정렬 속성이 쓴 :jQuery 함수에서 반환되는 내용은 무엇입니까?

var X = $('p:first'); 
console.log(X); 
$(X).each(function(index,Element) { 
    var prop; 
    var arr = []; 
    for (prop in Element) { 
     arr[arr.length] = prop; 
    } 
    arr = arr.sort(); 
    for (var i=0,ii=arr.length;i<ii;i++) { 
     console.log(arr[i]); 
    } 
}); 

이는 속성 이름을 정렬 할 것이다, 또는 내가 너무 열심히 일하고 방법이 있나요?

+0

나에게 잘 보이는 사용하는 것입니다 . 각 속성이 무엇을하는지에 관심이 있다면 jQuery src를 확인하십시오. 그다지 어렵지 않고 jQuery를 훨씬 더 의미있게 만듭니다. – joekarl

+0

오른쪽으로 보입니다. 가독성을 위해'arr.push (prop) '를 사용 하겠지만 개인 스타일이라고 생각합니다. 또한 상속 된 속성도 얻을 수 있습니다. 원하지 않으면'if (Element.hasOwnProperty (prop))'를 사용하십시오. 스타일의 문제인 또 다른 문제는 오히려 더 중요합니다. 생성자로 불리지 않는 한 자본으로 시작하는 변수를 사용하지 마십시오. 함수가 new와 함께 호출되면 큰 차이가 있습니다. 우리가 일반적으로 가지고있는 유일한 단서는이 컨벤션입니다 (생성자는 대문자로 시작하고 일반 함수는 그렇지 않습니다). – Amadan

+0

당신이 얻는 요소는 실제 DOM 노드에 대한 참조이므로 그 속성은 매우 신비스럽지 않습니다 .- – Pointy

답변

2

코드에서 상속 된 속성을 포함하여 paragraph html element에 대해 정의 된 모든 속성을 얻게됩니다.

또 다른 얻을 수있는 방법과 종류의 모든 속성은 내장 Objectkeys 방법,

Object.keys($('p')[0]).sort() 

또는 일반 자바 스크립트에 해당하는,

Object.keys(document.getElementsByTagName('p')[0]).sort() 
관련 문제