jQuery 객체 및 DOM 요소
jQuery object와 DOM element의 관계를 이해하고 싶습니다.
jQuery가 요소를 반환하면 다음과 같이 표시됩니다.[object Object]
비상시에언제getElementByID
표시되는 요소를 반환합니다.[object HTMLDivElement]
그게 정확히 무슨 뜻입니까?제 말은 둘 다 차이가 있는 물건인가요?
또한 jQuery object vs DOM element에서 작동할 수 있는 메소드는 무엇입니까?단일 jQuery 객체가 여러 DOM 요소를 나타낼 수 있습니까?
jQuery object와 DOM element의 관계를 이해하고 싶습니다.
jQuery 개체는 DOM 요소를 포함하는 배열과 유사한 개체입니다.jQuery 개체는 사용하는 선택기에 따라 여러 개의 DOM 요소를 포함할 수 있습니다.
또한 jQuery object vs DOM element에서 작동할 수 있는 메소드는 무엇입니까?단일 jQuery 객체가 여러 DOM 요소를 나타낼 수 있습니까?
는 가 합니다.Query 함수(전체 목록은 웹사이트에 있음)는 DOM 요소가 아닌 jQuery 객체에서 작동합니다.jQuery 함수 안의 DOM 요소에 접근할 수 있는 방법은.get()
또는 원하는 인덱스에서 요소에 직접 액세스할 수 있습니다.
$("selector")[0] // Accesses the first DOM element in this jQuery object
$("selector").get(0) // Equivalent to the code above
$("selector").get() // Retrieve a true array of DOM elements matched by this selector
즉, 다음과 같은 결과를 얻을 수 있습니다.
<div id="foo"></div>
alert($("#foo")[0]);
alert($("#foo").get(0));
alert(document.getElementById("foo"));
jQuery 개체에 대한 자세한 내용은 설명서를 참조하십시오.다음에 대한 문서도 확인합니다.
jQuery를 사용하여 DOM 요소를 가져오면 jQuery 개체가 요소에 대한 참조를 포함합니다.네이티브 기능을 사용할 때는.getElementById
, jQuery 객체 내에 포함되지 않은 요소에 대한 참조를 직접 가져옵니다.
jQuery 개체는 여러 개의 DOM 요소를 포함할 수 있는 배열과 같은 개체입니다.
var jQueryCollection = $("div"); //Contains all div elements in DOM
위의 행은 jQuery 없이 수행할 수 있습니다.
var normalCollection = document.getElementsByTagName("div");
는 , jQuery 입니다와 선택지를 할 때 할 입니다. 당신이 단순한 셀렉터를 통과할 때 말입니다.div
. jQuery 컬렉션 내의 실제 요소에 액세스할 수 있는 방법은get
방법:
var div1 = jQueryCollection.get(0); //Gets the first element in the collection
jQuery 객체 안에 요소 또는 요소 집합이 있을 때는 jQuery API에서 사용할 수 있는 메소드를 사용할 수 있지만 원시 요소가 있을 때는 네이티브 자바스크립트 메소드만 사용할 수 있습니다.
저는 지난 달에 jQuery와 겨우 게임을 시작했는데, 마음속에 비슷한 질문이 떠올랐습니다.지금까지 받은 답변은 모두 정확하지만, 매우 정확한 답변은 다음과 같습니다.
함수에 있다고 가정하고 호출 요소를 참조하기 위해 다음 중 하나를 사용할 수 있습니다.this
, 아니면$(this)
; 하지만 무엇이 다를까요?알고보니, 당신이 사용할 때$(this)
, 당신은 포장중입니다.this
jQuery 객체 안에 있습니다.객체가 jQuery 객체가 되면 그 위에 있는 모든 jQuery 함수를 사용할 수 있다는 장점이 있습니다.
아주 강력해요, 심지어 요소들을 끈으로 표현할 수도 있기 때문에var s = '<div>hello <a href='#'>world</a></div><span>!</span>'
, 문자 그대로 $($)로 포장하는 것만으로 jQuery 객체 안에 있습니다.$(s)
할 수 이제 jQuery로 모든 요소를 조작할 수 있습니다.
의 jQuery입니다.Functions
반환 값을 가지지 않고 오히려 전류를 반환합니다.jQuery Object
혹은 다른jQuery Object
.
그렇게,
console.log("(!!) jquery >> " + $("#id") ) ;
돌아올 것입니다[object Object]
, 예를 들면jQuery Object
셀렉터를 평가한 결과인 컬렉션을 유지합니다.String
("#id"
)에 대항하여Document
,
하는 동안에,
console.log("(!!) getElementById >> " + document.getElementById("id") ) ;
돌아올 것입니다[object HTMLDivElement]
(또는 사실은)[object Object]
IE) 왜냐하면/반품 값이 a이기 때문입니다.div
Element
.
또한 jQuery object vs DOM element에서 작동할 수 있는 메소드는 무엇입니까? (1) 하나의 jQuery object가 여러 개의 DOM element를 나타낼 수 있습니까? (2
(1) 구성원 호스트가 있습니다.Function
된 sinjQuery와 Object
s. imo에서 가장 좋은 방법은 jQuery API 문서에서 관련된 것을 검색하는 것입니다.Function
특정 태스크가 있으면(예: 선택)Node
또는 그들을 조종합니다).
,jQuery Object
여러 DOM 목록을 유지할 수 있습니다.Element
개가 . 여러개가 있습니다Functions
: 등)jQuery.find
아니면jQuery.each
이 자동 캐싱 동작을 기반으로 구축됩니다.
그것은 당신의 브라우저가 영리할 뿐입니다.둘 다 물체이지만 DOME 요소는 특별한 물체입니다.jQuery는 자바스크립트 객체에 DOMElements를 랩핑합니다.
더 많은 디버그 정보를 얻고 싶다면 Firebug for Firefox 및 Chrome의 내장 인스펙터(Firebug와 매우 유사함)와 같은 디버깅 도구를 살펴보는 것이 좋습니다.
언급한 것 외에 jQuery-object에서 설명에 따라 jQuery 객체를 가져온 이유에 대해 추가하고 싶습니다.
- 호환성.
요소 메소드 구현은 브라우저 벤더와 버전에 따라 다릅니다.
예를 들어 집합innerHTML
대부분의 Internet Explorer 버전에서는 element가 작동하지 않을 수 있습니다.
이너셋팅가능jQuery 방식의 HTML과 jQuery는 브라우저의 차이점을 숨길 수 있도록 도와줄 것입니다.
// Setting the inner HTML with jQuery.
var target = document.getElementById( "target" );
$( target ).html( "<td>Hello <b>World</b>!</td>" );
- 편리
jQuery는 원활한 개발자 경험을 위해 jQuery 객체에 바인딩된 메소드 목록을 제공합니다. http://api.jquery.com/ 에서 일부 확인하십시오.웹사이트는 또한 일반적인 DOM 조작을 제공합니다. 저장된 요소를 삽입하는 방법을 알아보겠습니다.newElement
target
요소가 쌍방향입니다.
DOM 방식,
// Inserting a new element after another with the native DOM API.
var target = document.getElementById( "target" );
var newElement = document.createElement( "div" );
target.parentNode.insertBefore( newElement, target.nextSibling );
jQuery 방식,
// Inserting a new element after another with jQuery.
var target = document.getElementById( "target" );
var newElement = document.createElement( "div" );
$( target ).after( newElement );
이것이 보충제이기를 바랍니다.
언급URL : https://stackoverflow.com/questions/6974582/jquery-object-and-dom-element
'source' 카테고리의 다른 글
VS 2012에서 웹 배포 게시 작업 전에만 PowerShell 스크립트를 실행하는 방법은 무엇입니까? (0) | 2023.10.23 |
---|---|
Android ClickableSpan이 Click을 호출하지 않음 (0) | 2023.10.23 |
이 호환되는 기능 타입들이 C에 있습니까? (0) | 2023.10.23 |
'루프' 외부에 워드프레스 'Comments Template' 표시 (0) | 2023.10.18 |
WP_meta_value_num별 쿼리 순서가 작동하지 않습니다. (0) | 2023.10.18 |