I'm completely new to JavaScript and struggling to get this working. I'm trying to display contact details in an alert box when a button is clicked.
The information is displayed in nested DIVs outlined below:
<div class=info-and-actions>
<div class=info>
<div class=name-container>
<h4 class=name><a href=# title=Name class=name-link>Trader 1</a></h4>
</div>
<div class=details-container>
<p class=tele>###############</p>
<p class=email>[email protected]</p>
</div>
<div class=actions>
<button class=displayContactDetails>Display contact details</button>
</div>
</div>
</div>
<div class=info-and-actions>
<div class=info>
<div class=name-container>
<h4 class=name><a href=# title=Name class=name-link>Trader 2</a></h4>
</div>
<div class=details-container>
<p class=tele>###############</p>
<p class=email>[email protected]</p>
</div>
<div class=actions>
<button class=displayContactDetails>Display contact details</button>
</div>
I am using this JavaScript with an event listener on the displayContactDetails button to display the contact details in the alert box.
function displayContactDetails() {
var contactName = document.querySelector(a.name-link.profile-link).textContent;
var contactTele = document.querySelector(p.tele).textContent;
alert(Contact + contactName + on + contactTele);
}
This currently displays the first trader's contact details when any displayContactDetails button is clicked.
What I want to do is select the relevant contact information from the parent elements of the button (.name-container and .details-container) - so when the second button is clicked, Trader 2's details are displayed.
How do I traverse the DOM to achieve this?