Tengo este HTML:
<div class="content_section_item" data-item=""> <img src=""> <p>table</p> </div> <div class="content_section_item" data-item=""> <img src=""> <p>table</p> </div> <div class="content_section_item" data-item=""> <img src=""> <p>others</p> </div>¿Cómo hago un ciclo que toma el texto interno de cada etiqueta p y lo coloca en el atributo de elemento de datos de su respectivo padre div de esta manera:
<div class="content_section_item" data-item="table"> <img src=""> <p>table</p> </div> <div class="content_section_item" data-item="table"> <img src=""> <p>table</p> </div> <div class="content_section_item" data-item="others"> <img src=""> <p>others</p> </div>Bucle sobre los divs. En cada div, use querySelector() para encontrar la p anidada, obtenga su contenido con .textContent y asígnelo a la propiedad data-item del div.
document.querySelectorAll('div.content_section_item').forEach( div => div.dataset.item = div.querySelector('p').innerText ); <div class="content_section_item" data-item=""> <img src=""> <p>table</p> </div> <div class="content_section_item" data-item=""> <img src=""> <p>table</p> </div> <div class="content_section_item" data-item=""> <img src=""> <p>others</p> </div>