I have a <div> with some children within and it's contained text like below:
<div class="accordion-item__panel">
<h5>The baby tears the pages of the</h5>
<p>books with her <span>hands.</span></p>
<p class="body-small">What is the funniest thing the baby does?</p>
</div>
I want the contained text inside the accordion-item__panel DIV and the output like:
The baby tears the pages of the books with her hands. What is the funniest thing the baby does?
Current output:
The baby tears the pages of the books with her hands. hands. What is the funniest thing the baby does?
Added "hands." twice as it was kept twice while querying elements.
JavaScript:
let desc = "";
const descItems = item.querySelectorAll('.accordion-item__panel *');
descItems.forEach((item, index) => {
if(index === 0){
desc += item.innerText;
}else{
desc += ' ' + item.innerText;
}
});
console.log("desc", desc);
Run this:
let desc = "";
const descItems = document.querySelectorAll('.tcb__accordion-item__panel *');
descItems.forEach((item, index) => {
if(index === 0){
desc += item.innerText;
}else{
desc += ' ' + item.innerText;
}
});
console.log("desc", desc);
.accordion-item__panel{
display:block;
width: 300px;
}
.accordion-item__panel *{
padding: 0;
margin: 0;
}
<div class="accordion-item__panel">
<h5>The baby tears the pages of the</h5>
<p>books with her <span>hands.</span></p>
<p class="body-small">What is the funniest thing the baby does?</p>
</div>