2017-09-28 2 views
0

현재 내 shopify 계정의 테마 내에서 코드가 변경됩니다. 특정 요소에서 자식을 삭제하려고하지만이를 수행하는 방법을 알 수 없습니다. Chrome의 개발 도구를 사용하여 요소 정렬 방식을 살펴보고이를 통해 작업 할 수 있습니다. 그런 다음 내 코드에서 console.log를 사용하여 (나는이 점에서 훌륭하지 않다), 나는 내가 원하는 곳을 가로 질러 갈 수있다.내가 아는 코드를 통해 하위 요소에 액세스 할 수 없습니다.

이제 두 개의 자식 (아래 이미지)이있는 부모 노드에 도착하지만 .children()을 사용하면 단일 요소 만 반환합니다. 이 요소에 .sibling()을 사용하면 (이 해결 방법이 나를 위해 어떻게 든 작동하게 될 것이라고 기대 했음) 아무 것도 반환하지 않습니다. .find() 또는 요소의 클래스 이름이있는 선택기를 사용하지 않아도 아무 것도 찾을 수 없습니다. 그것은 절대적으로 나를 혼란스럽게합니다. 내 말은, 바보 같은 일을 제거하는 것뿐입니다. 부모에게 .empty()를하면 성공적으로 첫 번째 자식을 제거하지만 두 번째에는 아무것도하지 않습니다! 나는 아이를 들여다 보았다. 그리고 두 번 확인해 보니 부모님이 내가 기대했던 부모님을 정확하게 메모 해 주었다. 어리석은 일이 벌어지고있는 것처럼 보였다. (뭔가 다른 것에 속해 있거나/어딘가에 존재했지만 모든 요소에 추가되었다. 페이지에서).

children of parent node

img.zoomImg 아이가 무엇입니까 ??? devtools를 사용하여 코드가 있음을 알 수있을 때 코드를 통해 아무 것도 할 수없는 이유는 무엇입니까?

도움을 주시면 감사하겠습니다. 감사합니다.

+1

코드가 실행될 때 노드가 존재합니까? 코드가 실행될 수 있습니까? 그렇다면 노드를 추가하기 위해 다른 코드가 실행됩니까? – EdmCoff

+0

크롬에서보고있는 내용은 javascript가 엉망으로 된 HTML입니다. Javascript를 사용 중지해도 여전히 존재합니까? 또한 URL이 도움이 될 것입니다 – hanshenrik

+0

zoomImg은 iframe 내부에 있지 않습니까? iframe은 작은 샌드 박스이므로 외부에서 실행되는 코드는 대개 내부의 물건을 만질 수 없습니다. –

답변

0

EdmCoff가 옳았습니다. 나는 그것이 실제로 있었던 것보다 더 어려워 져야한다는 것을 내 머리 속에 들었다. 내 문제는 내가 실제로 console.log에서 스냅 샷을 기다리고 있었는데, 실제로 객체가 실시간으로 로그에서 업데이트되었을 때였습니다. 내 물건을 다룬 곳에서 그 아이는 존재하지 않았다. 나중에로드 된 페이지가 아이를 완벽하게 찾을 수있게 한 후 로그를 통해 존재한다는 것을 알았던 이유는 무엇입니까? 이 문제를 해결하기 위해 뇌를 몰아 내야 할 것입니다.하지만 그것이 내가 필요한 것입니다. 정말 고맙습니다.