#javascript #reactjs
Вопрос:
Я хочу утешить.регистрируйте первое изображение в big div. Большой div выбирается родительским элементом.
function click(e){
console.log(e.target.parentElement) //this will selekt bigDiv
console.log(e.target.parentElement[2]) // like this dont work
}
<div className="bigDiv">
<div></div>
<div></div
<img /> // I want to select this when click div ⬇
<div onclick={click}>Click me<div/>
<img />
</div>
Комментарии:
1.
parentElement
не является массивной (или подобной) структурой. Элемент может иметь только 1 прямого родителя. Вам необходимо получить доступ кchildren
свойству родителя
Ответ №1:
e.target.parentElement.getElementsByTagName('img');
Попробуйте это
Ответ №2:
вы можете использовать селектор запросов для выбора массива изображений
var nodes = div.querySelectorAll('img');
var first = nodes[0];
var last = nodes[nodes.length- 1];
Ответ №3:
Если вам нужен элемент непосредственно перед выбранным элементом, вы можете просто использовать e.target.previousElementSibling — docs