我正在嘗試讓 js 根據 html 中的每個 div 文本內容更改每個 div 的標題屬性。
我想從自己的文本中添加每個 div 的標題,例如:“文本示例 1”的標題將是“文本示例 1”,“文本示例 2”的標題將是“文本示例 2”等等.
目前我已經制作了一個 js 代碼,但僅適用于其中一個 div。我是一個完整的 js 初學者,所以任何建議都值得贊賞。
<div class="example">
<div class="text1" id="id-text1">Text Example 1</div>
</div>
<div class="example">
<div class="text1" id="id-text1">Text Example 2</div>
</div>
<div class="example">
<div class="text1" id="id-text1">Text Example 3</div>
</div>
const titleContent = document.getElementById("id-text1");
function ChangeTitle(){
document.querySelectorAll('.text1').forEach(function ChangeTitleSecond(){
titleContent.setAttribute('title', titleContent.textContent);
})
};
window.onload = ChangeTitle();
uj5u.com熱心網友回復:
<div>為其(文本)內容設定標題的步驟:
- 獲取所有的
<div>s(選擇器是div.text1) - 對于他們每個人,將標題設定為
innerText值
解決方案:
<div class="example">
<div class="text1">Text Example 1</div>
</div>
<div class="example">
<div class="text1">Text Example 2</div>
</div>
<div class="example">
<div class="text1">Text Example 3</div>
</div>
<script>
divs = Array.from(document.querySelectorAll("div.text1"))
for (elem of divs) {
elem.setAttribute("title", elem.innerText)
}
</script>
演示
uj5u.com熱心網友回復:
getElementById() 只回傳一個元素。id 屬性在檔案中應該是唯一的。但沒關系,你不需要它。您已經獲得了要使用 querySelectorAll() 處理的元素串列
forEach() 將每個元素作為函式的第一個引數傳遞。
function ChangeTitle(){
document.querySelectorAll('.text1').forEach(function
ChangeTitleSecond(item){
item.setAttribute('title', item.textContent);
})
};
window.onload = ChangeTitle();
uj5u.com熱心網友回復:
您可以使用此實作。如果您需要一些具有相同屬性(例如 id、class 或 tag)的專案的串列,您可以通過 querySelectorAll 通過它們的特定屬性來選擇它們。
const titleContentList = document.querySelectorAll('[id=id-text1]')
function ChangeTitle(){
titleContentList.forEach((item)=>{
const title = item.textContent
if(!title) return;
item.setAttribute('title',title)
})
}
window.onload = ChangeTitle();
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/520401.html
下一篇:使圖示顯示為圓圈
