2412 Stimmen

Wie erhält man die Kinder des $(this)-Selektors?

Ich habe ein ähnliches Layout wie dieses:

<div id="..."><img src="..."></div>

und möchte einen jQuery-Selektor verwenden, um das Kind auszuwählen img innerhalb der div anklicken.

Um die div Ich habe diesen Selektor:

$(this)

Wie kann ich das Kind dazu bringen img einen Selektor verwenden?

4voto

Sumit Lahiri Punkte 465
$(document).ready(function() {
  // When you click the DIV, you take it with "this"
  $('#my_div').click(function() {
    console.info('Initializing the tests..');
    console.log('Method #1: '+$(this).children('img'));
    console.log('Method #2: '+$(this).find('img'));
    // Here, i'm selecting the first ocorrence of <IMG>
    console.log('Method #3: '+$(this).find('img:eq(0)'));
  });
});

.the_div{
  background-color: yellow;
  width: 100%;
  height: 200px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="my_div" class="the_div">
  <img src="...">
</div>

1voto

Kamil Kiełczewski Punkte 69048

Wenn Ihr img genau das erste Element innerhalb von div ist, versuchen Sie

$(this.firstChild);

$( "#box" ).click( function() {
  let img = $(this.firstChild);
  console.log({img});
})

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="box"><img src="https://picsum.photos/seed/picsum/300/150"></div>

0voto

Vishnu Prasanth G Punkte 985

Mit nativem Javascript können Sie

wenn Sie mehr als ein Bild-Tag haben, verwenden Sie

this.querySelectorAll("img")

wenn nur ein Bild-Tag, dann wir

this.querySelector("img")

-1voto

Hassan Fayyaz Punkte 467

Sie könnten verwenden

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
 $(this).find('img');
</script>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X