jQuery : eq() vs get()
저는 jQuery가 처음인데 jQuery의 차이점이 무엇인지 궁금합니다.get()
그리고.eq()
기능들.내가 무슨 말인지 오해할 수도 있습니다.get()
함수는 가능하지만, 반환된 요소의 함수를 같은 줄로 호출할 수 없다는 것이 이상하다고 생각했습니다.
//Doesn't work
I.e. $("h2").get(0).fadeIn("slow");
//Works
$("h2").eq(0).fadeIn("slow");
.get()
그리고..eq()
둘 다 jQuery 객체 배열에서 하나의 "요소"를 반환하지만, 다른 형태로 하나의 요소를 반환합니다.
.eq()
는 이를 jQuery 객체로 반환합니다. 즉, DOM 요소가 jQuery 래퍼에 래핑됨을 의미하며, 이는 jQuery 함수를 수용함을 의미합니다.
.get()
원시 DOM 요소 배열을 반환합니다.원시 DOM 요소에서와 같이 해당 속성에 액세스하고 해당 기능을 호출하여 각 속성을 조작할 수 있습니다.하지만 jQuery로 포장된 물체로 정체성을 잃기 때문에 jQuery는 다음과 같은 기능을 합니다..fadeIn
안 될 겁니다
get()
DOM 요소를 반환하는 반면:eq()
그리고.eq()
jQuery 요소를 반환합니다.DOM 요소에 메서드가 없으므로fadeIn()
실패합니다.
설명:jQuery 개체와 일치하는 DOM 요소를 검색합니다.
http://api.jquery.com/eq-selector/
설명:일치된 집합 내 인덱스 n에서 요소를 선택합니다.
get(0)
(docs) 집합의 첫 번째 DOM 요소를 반환합니다.
eq(0)
(docs) jQuery 객체로 래핑된 집합의 첫 번째 DOM 요소를 반환합니다.
그래서..fadeIn("slow");
할 때는 안 됩니다..get(0)
. DOM 요소에 다음 값이 없습니다.fadeIn()
메서드를 사용하지만 jQuery 개체는 사용합니다.
다른 답변을 토대로 작성하기:
$('h2').get(0) === $('h2').eq(0)[0] //true
$( $('h2').get(0) ) === $('h2').eq(0) //true
eq(i)
수신기 집합에서 i번째 멤버를 다음과 같이 검색합니다.jQuery
개체, 반면 i번째 위치에 있는 멤버를 DOM 요소로 반환합니다.
이것이 작동하지 않는 이유:
$("h2").get(0).fadeIn("slow");
그 이유는h2
DOM 요소에 다음 메서드가 없습니다.fadeIn
.
당신은 사용해야 합니다.eq(0)
대신 여기에
나는 여기서 다른 사람들이 주는 포인트를 설명하는 예를 들고 있습니다. 다음 코드를 생각해보세요.
<div id="example">
Some text
<div>Another div</div>
<!--A comment-->
</div>
그리고 그에 상응하는 js 코드,
$(document).ready(function() {
var div = $("#example").get(0);
console.log(typeof(div));
console.log(div);
console.log("XXXXXXXXX");
var div_eq=$('#example').eq(0);
console.log(typeof(div_eq));
console.log(div_eq);
});
이것이 당신이 보게 될 것입니다.
object
excercise1.js (line 5)
<div id="example">
excercise1.js (line 6)
XXXXXXXXX
excercise1.js (line 7)
object
excercise1.js (line 9)
Object[div#example]
첫번째는 DOM 객체이고, 후자는 Jquery methods를 호출할 수 있는 Jquery wrapped 객체입니다.
jQuery eq() 메서드는 특정 인덱스 번호를 가진 HTML 요소를 선택합니다.
그 예는 다음과 같습니다.
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
$( "body" ).find( "div" ).eq( 2 ).addClass( "red" );
// it finds the second div in the html body and change it to red color.
출처 : http://www.snoopcode.com/JQuery/jquery-eq-selector
위의 답변들은 구체적이고 정확하게 설명하였습니다.다 이 될 수 몇 가지 .get()
.
을 에게
.get()
합니다. DOM 합니다.get()
,맘에 들다var s = $("#id").get(0)
을 사용하여 jQuery다라는해서를 할 수 있습니다.$(s)
합니다.
$obj[i]
다른$obj.get(i)
.var $obj = $("#ul li"); var obj1 = $obj.get(1); var obj2 = $obj[1]; //true return obj2===obj1;
언급URL : https://stackoverflow.com/questions/4709660/jquery-eq-vs-get
'programing' 카테고리의 다른 글
오라클 더 빠른 페이징 쿼리 (0) | 2023.09.27 |
---|---|
IN 절에서 Oracle Table Type을 사용하면 컴파일이 실패함 (0) | 2023.09.27 |
Node.js: req.query[]와 req.param의 차이 (0) | 2023.09.27 |
러스트 코드에서 C나 C++ 함수를 호출할 수 있습니까? (0) | 2023.09.27 |
장고, 사용자 지정 500/404 오류 페이지 생성 (0) | 2023.09.27 |