![](/img/trans.png)
[英]React Native: In an array of Text Inputs which are looped then displayed, how to get nth element and modify those elements separately?
[英]How do i click an element in a div and get the text content of that element which is derived from an object in array which was looped to the DOM
我有一個 object 數組,我將其循環到 DOM 到一個 div 容器中。 使用 class 雇主容器。 我想單擊 DOM 上的每個元素並獲取每個元素的文本內容。 我如何使用 javascript 做到這一點?
這是我用來將其循環到 DOM 的 JavaScript 代碼。
const employersContainer = document.querySelector('.employer-container');
const arrOfObj = [
{
name: 'Joe',
occupation: 'Footballer'
},
{
name: 'Alex',
occupation: 'Doctor'
},
{
name: 'Sam',
occupation: 'Superhero'
},
];
const employersMapToDOM = () => {
var content = '';
for (let i = 0; i < arrOfObj.length;i++) {
content +=`
<div class="employee-case" onclick="getThisTagValue()">
<div>
<h4 class="person">${arrOfObj[i].name}</h4>
<p class="work">${arrOfObj[i].occupation}</p>
</div>
</div>`;
}
employersContainer.innerHTML = content;
}
employersMapToDOM();
const getThisTagValue = () => {
const employeeCase = document.querySelector('.employee-case');
console.log(employeeCase.textContent);
}
```
在循環中,您執行arrOfObj.name
。 但是arrOfObj
是一個數組,並且沒有name
屬性。 您需要先提取person
,然后使用其屬性:
const employersContainer = document.querySelector('.employer-container'); const arrOfObj = [{name: 'Joe', occupation: 'Footballer'}, {name: 'Alex', occupation: 'Doctor' }, {name: 'Sam', occupation: 'Superhero' }]; const employersMapToDOM = () => { var content = ''; for (let i = 0; i < arrOfObj.length; i++) { var person = arrOfObj[i]; content += `<div class="employee-case" onclick="getThisTagValue(this)"> <div> <h4 class="person">${person.name}</h4> <p class="work">${person.occupation}</p> </div> </div>`; } employersContainer.innerHTML = content; } employersMapToDOM(); const getThisTagValue = (employeeCase) => { let str = employeeCase.textContent; // If you want to remove line breaks and extra spaces: str = str.replace(/\s+/g, ' ').trim(); console.log(str); }
<div class="employer-container"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.