jquery를 사용하여 개체 (this)에 대한 참조를 저장하는 방법을 알고 싶습니다. 내 말은, 예를 들어, 내 사용자가 페이지의 요소를 클릭했을 때 웹 서버에 객체 참조를 보내고 다음에 사용자가 서버를 호출하면 브라우저에 저장된 참조를 다시 보내고 다른 작업을 수행하기를 원합니다. fadeIn() ... 지금까지 JSON.stringify (this) 및 JSON.stringify ($ (this))를 사용하여 시도했지만 두 가지 모두 작동하지 않는 것 같습니다. 나는 또한 elemen't ID와 클래스 및 유형을 저장하려고 했으므로 다음 번에 사용자가 선택기를 사용할 수는 있지만, 모든 웹 사이트에서 스크립트를 사용하기 때문에 셀렉터를 사용하는 것이 이상적이지 않을 수 있습니다. 요소에 대한 정확한 참조를 얻고 서버로 보내려면 어떤 방법이 있습니까?jquery를 사용하여 요소를 참조하는 가장 좋은 방법은 무엇입니까?
답변
아니는 DOM 요소에 대한 참조는 단지 하나의 DOM 인스턴스 (그래서 당신은 같은 페이지를 다시로드 경우에도 참조가 더 이상 작동하지 않습니다) 내에서 작동합니다. 선택기를 사용해야합니다. 당신은 페이지의 구조가 변경되지 않도록 경우, 같은 요소를 얻을 수있는 가장 쉬운 방법은 이것이다 :
// Get numeric index of element on page.
var index = $('*').index(this);
// Restore element.
var $this = $('*').eq(index);
당신은 가능한 ID와 클래스를 사용하여 페이지를 변경하는 것이 더 안전 할 수 있습니다. 클래스/ID를 그것의 간단한 버전 의존하지 않는 사용자들은 여기 http://paste.blixt.org/297640
:
이 스크립트에서보세요jQuery.fn.getPath = function() {
if (this.length != 1) throw 'Requires one element.';
var path, node = this;
while (node.length) {
var realNode = node[0], name = realNode.localName;
if (!name) break;
name = name.toLowerCase();
var parent = node.parent();
var siblings = parent.children(name);
if (siblings.length > 1) {
name += ':eq(' + siblings.index(realNode) + ')';
}
path = name + (path ? '>' + path : '');
node = parent;
}
return path;
};
은 다음과 같이 사용합니다 :
// Get selector for element.
var path = $(this).getPath();
// Get element using selector.
var $this = $(path);
당신이 묻는 것을 정확하게 할 수있는 방법이 없다고 생각하지만,이 방법으로 저장하려는 요소에 ID를 두는 것이 좋습니다. 그런 다음 ajax를 사용하여 서버에서 해당 ID를 저장하고 나중에 검색 할 수 있습니다. 나는 이것이 당신이 지시 한대로 "모든 웹 사이트"에서 작동 할 것이라고 생각하지 않는다
var saveId = $(this).attr('id');
,하지만 당신이 사이트를 제어 할 경우, 모든 확인 할 수 있습니다
당신의 선택은 다음과 같이 보일 것입니다 저장하려는 요소에는 ID가 있고 페이지의 모든 ID는 고유해야하므로 해당 조건 내에서이를 수행 할 수 있어야합니다.
selector
필드를 저장할 수 있으므로 나중에 선택할 수 있습니다. 이처럼 :
var Elements = $('body').find('.container').find('div.controls'); // Just some complex selection
...
var ToSave = Elements.selector;
AJAXSave('Elements', ToSave);
// ToSave will be 'body .container div.controls' which is the elements we are talking about.
...
var LastElements = $(AJAXLoad('Elements'));
이를 선택기를 사용하여 jQuery 객체를 검색 한 경우에만 작동합니다. 예를 들어'$ (aDomElement)'의 결과에는 유효한'.selector' 속성이 없습니다. – Blixt
- 1. 레이아웃 요소를 제거하는 가장 좋은 방법은 무엇입니까
- 2. 배열에서 요소를 재사용하는 가장 좋은 방법은 무엇입니까?
- 3. Asp.net에서 JQuery를 사용하는 가장 좋은 방법은 무엇입니까
- 4. Clojure를 사용하여 JTable의 모든 요소를 초기화하는 가장 좋은 방법은 무엇입니까?
- 5. jQuery를 사용하여 ASP.Net 컨트롤을 찾는 가장 좋은 방법은 무엇입니까?
- 6. jQuery를 사용하여 DOM에 HTML을 삽입하는 가장 좋은 방법은 무엇입니까?
- 7. JQuery를 사용하여 테이블 행을 트래버스하는 가장 좋은 방법은 무엇입니까?
- 8. jquery를 사용하여 부모 요소를 숨기는 방법은 무엇입니까?
- 9. jQuery를 사용하여 DOM 요소를 파괴하는 방법은 무엇입니까?
- 10. 요소를 확장하기 위해 브라우저 창을 스크롤하는 가장 좋은 방법은 무엇입니까?
- 11. jQuery에서 페이지에 "복잡한"요소를 삽입하는 가장 좋은 방법은 무엇입니까?
- 12. xml을 사용하여 개체를로드합니다. 가장 좋은 방법은 무엇입니까?
- 13. 외부 앱을 통해 이미지를 참조하는 가장 좋은 방법은 무엇입니까?
- 14. jQuery에서 현재 선택된 요소를 참조하는 방법은 무엇입니까?
- 15. 배열의 각 요소를 팝업없이 나열하는 가장 좋은 방법은 무엇입니까 (PHP에서)?
- 16. Subversion을 사용하여 양분하는 가장 좋은 방법은 무엇입니까?
- 17. Drupal 6 : jQuery를 업그레이드하는 가장 좋은 방법은 무엇입니까?
- 18. 양식에 동적 요소를 추가하는 가장 좋은 방법은 무엇입니까?
- 19. 내 자신의 유형을 참조하는 가장 좋은 방법
- 20. XSLT 파일을 배포하고 참조하는 가장 좋은 방법
- 21. ActionScript 배열에서 모든 요소를 제거하는 가장 좋은 방법은 무엇입니까?
- 22. PHP : 객체의 모든 요소를 가져 오는 가장 좋은 방법은 무엇입니까?
- 23. 페이지의 일반적인 "구조적"요소를 다루는 가장 좋은 방법은 무엇입니까?
- 24. XMPP에서 사용자 정의 XML 요소를 교환하는 가장 좋은 방법은 무엇입니까?
- 25. jQuery에서 바인딩 함수 앞에있는 요소를 확인하는 가장 좋은 방법은 무엇입니까?
- 26. 넘침이 설정된 요소를 스크롤하는 가장 좋은 방법은 무엇입니까?
- 27. 측면 스크롤 인라인 요소를 만드는 가장 좋은 방법은 무엇입니까?
- 28. 모든 브라우저에서 지원되는 CSS 요소를 확인하는 가장 좋은 방법은 무엇입니까?
- 29. jQuery는 클래스별로 요소를 계산합니다. 이것을 구현하는 가장 좋은 방법은 무엇입니까?
- 30. HTML 페이지에서 요소를 추출하는 가장 좋은 방법은 무엇입니까?
yeahh 그게 완벽 해. 나는 ID와 eq에 많은 도움을 주었지만 컨텍스트를 설정할 수 있다는 것을 잊었다! 하하 정확히 내가 원하는, 감사합니다 :) –