다음과 비슷한 레이아웃이 있습니다.
<div id="..."><img src="..."></div>
jQuery 선택기를 사용하여 클릭시 img
내부의 자식을 선택하고 싶습니다 div
.
를 얻으려면 div
이 선택기가 있습니다.
$(this)
img
선택기를 사용 하여 어린이 를 어떻게 구할 수 있습니까?
답변
jQuery 생성자는 context
선택 컨텍스트를 재정의하는 데 사용할 수 있는 두 번째 매개 변수를 허용합니다 .
jQuery("img", this);
다음과 같이 사용하는 .find()
것과 같습니다.
jQuery(this).find("img");
당신이 원하는 imgs 인 경우 에만 클릭 된 요소의 직계 후손, 당신은 또한 사용할 수 있습니다 .children()
:
jQuery(this).children("img");
답변
당신은 또한 사용할 수 있습니다
$(this).find('img');
이는의 img
자손 인 모든을 반환합니다 .div
답변
img
정확히 한 수준 아래로 첫 번째를 받아야하는 경우
$(this).children("img:first")
답변
DIV 태그 바로 뒤에 IMG 태그가 오는 경우 다음을 사용할 수도 있습니다.
$(this).next();
답변
직접 아이들은
$('> .child-class', this)
답변
아래와 같이 부모 div의 모든 img 요소를 찾을 수 있습니다
$(this).find('img') or $(this).children('img')
특정 img 요소를 원한다면 다음과 같이 쓸 수 있습니다
$(this).children('img:nth(n)')
// where n is the child place in parent list start from 0 onwards
div에는 하나의 img 요소 만 포함되어 있습니다. 이 아래에 맞습니다
$(this).find("img").attr("alt")
OR
$(this).children("img").attr("alt")
그러나 div에 아래와 같은 img 요소가 더 있으면
<div class="mydiv">
<img src="test.png" alt="3">
<img src="test.png" alt="4">
</div>
그런 다음 상위 코드를 사용하여 두 번째 img 요소의 대체 값을 찾을 수 없습니다. 그래서 당신은 이것을 시도 할 수 있습니다 :
$(this).find("img:last-child").attr("alt")
OR
$(this).children("img:last-child").attr("alt")
이 예제는 부모 개체 내에서 실제 개체를 찾는 방법에 대한 일반적인 아이디어를 보여줍니다. 클래스를 사용하여 자식 개체를 구별 할 수 있습니다. 쉽고 재미 있습니다. 즉
<div class="mydiv">
<img class='first' src="test.png" alt="3">
<img class='second' src="test.png" alt="4">
</div>
아래와 같이 할 수 있습니다 :
$(this).find(".first").attr("alt")
보다 구체적으로 :
$(this).find("img.first").attr("alt")
위 코드와 같이 find 또는 children을 사용할 수 있습니다. 더 방문을 위해 아이들은 http://api.jquery.com/children/ 하고 찾기 http://api.jquery.com/find/을 . 예를 참조하십시오 http://jsfiddle.net/lalitjs/Nx8a6/
답변
jQuery에서 자식을 참조하는 방법 다음 jQuery에 요약했습니다.
$(this).find("img"); // any img tag child or grandchild etc...
$(this).children("img"); //any img tag child that is direct descendant
$(this).find("img:first") //any img tag first child or first grandchild etc...
$(this).children("img:first") //the first img tag child that is direct descendant
$(this).children("img:nth-child(1)") //the img is first direct descendant child
$(this).next(); //the img is first direct descendant child