jQuery는 클릭 된 요소를 부모로 가져오고 그 자식을 얻습니다.

h1dd3n

숨겨진 양식이 있는데 링크를 클릭하면 해당 양식을 표시하고 싶습니다.

{% for comment in comments %}
                        <li class="depth-1 comment">
                            <div class="comment__avatar">
                                {#<img width="50" height="50" class="avatar" src="{{ comment.user.profile_image.url }}" alt="">#}
                            </div>
                            <div class="comment__content">
                                <div class="comment__info">
                                    <cite>{{ comment.user.username }}</cite>
                                    <div class="comment__meta">
                                        <time class="comment__time">{{ comment.created_at }}</time>
                                        <a class="reply">Reply</a>
                                    </div>
                                </div>
                                <div class="comment__text" id="data">
                                    <p>{{ comment.text }}</p>
                                </div>
                                <div class="respond reply-comment" style="display: none">
                                    <form name="contactForm" id="contactForm reply-form" method="post" action="">
                                        <div class="message form-field reply-field">
                                            {{ comment_form.text }}
                                        </div>
                                        <button type="submit" class="submit btn--primary" style="float: right;">
                                            Submit
                                        </button>
                                    </form> <!-- end form -->
                                </div> <!-- end respond -->
                            </div>
                        </li> <!-- end comment level 1 -->
                    {% endfor %}

reply클릭, 내가 필요 reply-comment들 ' style""할 수 있습니다. 어떻게 할 수 있습니까?

로리 맥 크로 산

이를 달성하려면 .reply-comment클릭 한 .reply요소 와 관련된 항목을 찾기 위해 DOM을 탐색해야합니다 . 이 경우 closest(),를 사용 하여 가장 가까운 공통 부모를 얻은 다음 find().

인라인 style속성 도 사용하지 않아야 합니다. 스타일을 훨씬 더 간단하게 재정의 할 수 있도록 외부 스타일 시트에 배치합니다.

또한 id루프에 의해 생성 된 HTML 속성을 넣어서는 안됩니다 . 이는 id유효하지 않은 동일한 요소를 여러 개 생성하기 때문 입니다. 을 제거 id하거나 class속성을 사용 하여 공통 동작으로 요소를 그룹화하십시오.

마지막으로 클릭 가능한 a요소에는 항상 href속성 이 있어야 합니다. 일부 오래된 브라우저에서는 click이벤트가 존재하지 않는 한 이벤트가 발생하지 않기 때문입니다 . preventDefault()이벤트 처리기에서 를 사용하여이 경우 URL 업데이트를 중지 할 수 있습니다 .

말한대로 아래 예제를 시도하십시오. 좀 더 짧게 만들기 위해 HTML의 일부를 제거했습니다.

$('.reply').on('click', function(e) {
  e.preventDefault();
  $(this).closest('.comment__content').find('.reply-comment').show();
});
.comment__avatar .avatar {
  width: 50px;
  height: 50px;
}

.reply-comment {
  display: none;
}

.submit.btn-primary {
  float: right;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li class="depth-1 comment">
    <div class="comment__avatar">
      {#<img class="avatar" src="{{ comment.user.profile_image.url }}" alt="">#}
    </div>
    <div class="comment__content">
      <div class="comment__info">
        <div class="comment__meta">
          <a href="#" class="reply">Reply</a>
        </div>
      </div>
      <div class="respond reply-comment">
        <form name="contactForm" method="post" action="">
          <div class="message form-field reply-field">{{ comment_form.text }}</div>
          <button type="submit" class="submit btn--primary">Submit</button>
        </form>
      </div>
    </div>
  </li>
  <li class="depth-1 comment">
    <div class="comment__avatar">
      {#<img class="avatar" src="{{ comment.user.profile_image.url }}" alt="">#}
    </div>
    <div class="comment__content">
      <div class="comment__info">
        <div class="comment__meta">
          <a href="#" class="reply">Reply</a>
        </div>
      </div>
      <div class="respond reply-comment">
        <form name="contactForm" method="post" action="">
          <div class="message form-field reply-field">{{ comment_form.text }}</div>
          <button type="submit" class="submit btn--primary">Submit</button>
        </form>
      </div>
    </div>
  </li>
</ul>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

자식이 새로 생성 된 요소를 클릭했을 때 부모 요소의 ID를 얻는 방법

클릭 된 자식을 결정하고 부모에게는 자체 클릭 리스너가 있습니다.

부모 요소의 preventDefault가 프로그래밍 방식으로 클릭시 자식 확인란을 확인하지 않는 이유는 무엇입니까?

어떻게 부모 요소와 그 후는 셀레늄과 액션 클래스를 사용하여 자식 요소를 클릭 가져가 마우스로

자식에서 부모 구성 요소로 값을 전달하고 그 값을 다른 자식 구성 요소로 가져오고 싶습니다.

ReactJ를 사용하여 부모에서 자식 요소로 클릭 된 ID 가져 오기

jQuery는 내부에 클릭 된 요소를 기반으로 <li>의 ID를 가져옵니다.

forEach에 추가 된 클릭 핸들러로 클릭 된 요소를 어떻게 얻을 수 있습니까?

JQuery는 요소 외부 클릭을 감지하고 다른 모든 클릭 이벤트를 중지합니다.

요소 jQuery를 클릭하면 부모 양식 클래스 가져 오기

중첩 된 구성 요소를 부모가 추적하고 Angular의 부모로부터 값을 가져 오는 방법은 무엇입니까?

다음 부모의 자식을 가져오는 것을 제외하고 XML 자식 요소가 있는 경우에만 어떻게 얻을 수 있습니까?

하나의 부모 요소를 클릭 할 때 다른 부모 자식을 숨기고 싶습니다.

React는 자식 클릭 이벤트 히트시 부모 구성 요소에서 데이터를 얻습니다.

CSS : 자식 요소를 클릭 할 때 부모 요소가 : active 가상 클래스를받는 것을 방지합니다.

jquery: 태그로 중첩 요소를 가져오고 해당 html을 변경할 수 없습니다.

자식 요소를 클릭할 때 onClick이 실행된 요소를 가져오는 방법

vue는 부모 버튼을 클릭하여 자식 구성 요소에서 버튼을 클릭했습니다.

내부에 자식 요소가있는 버튼에서 동일한 ID를 얻는 방법은 자식 요소 클릭을 방지합니까?

Jquery는 DOM에서 문자열을 찾고 그의 요소를 얻습니다.

우리가 무엇을 클릭하고 있는지 모를 때 셀레늄에서 클릭 된 요소를 얻는 방법

부모 및 자식 요소 클릭에서 부모 ID를 얻는 방법

Jquery는 여러 ID를 클릭하고 값을 얻습니다.

자식 구성 요소는 부모로부터 상태를 가져오지 않습니다.

버튼이 <a> 태그 내부를 클릭 한 후 모의 함수가 호출 된 것으로 식별되지 않습니다.

클릭 된 div 요소의 자식 만 가져옵니다.

jQuery에서 자식 li 중 하나를 클릭 할 때마다 부모 li을 어떻게 얻습니까?

자식 앵커 태그를 클릭하면 부모 요소 클릭 이벤트를 비활성화하는 방법은 무엇입니까?

Safari iOS : 클릭 핸들러가있는 요소를 드래그하면 요소 외부에서 클릭이 트리거되는 경우가 있습니다.

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관