返回数据属性值
Returning data attribute values
我正在使用 javascript 并已将 9 div 动态添加到文档中。所以现在我有 9 个 div,每个 div 都有一个数据编号。第一个 div 的数据编号从 9 开始,最后一个 div 的数据编号从 17 结束。有没有一种方法可以将 div 和 return 分配给 div 的实际数据编号作为目标?我想这样做的原因是根据 div 的数据数量是否小于、大于或等于数组索引来设置样式。
var businessHours = ["9AM" , "10AM" , "11AM" , "12PM" , "1PM" , "2PM" , "3PM" , "4PM" , "5PM"];
var businessIndex = [9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17];
function createTimeblock() {
for (var i = 0; i < businessHours.length; i++) {
var mainDiv =`<div class="row border my-2 mx-1 time-block block${businessIndex[i]}" "data-number=${businessIndex[i]}">` +
`<p class="time-hour0 col-md-1">${businessHours[i]}</p>` +
`<div class="displayTodo col-md-9">` +
`<div class="storedTodo"></div>` +
`<textarea class="plan-here"></textarea>` +
`</div>` +
`<div class="col-md-2">` +
`<button class="col-md-5 clearBtn ml-1"><i class="fas fa-check"></i></button>` +
`<button class="col-md-5 saveBtn"><i class="fas fa-save"></i></button>` +
`</div>`;
$('main').append(mainDiv);
}
}
console.log(HERE IS WHERE I WOULD LIKE TO REUTRN A DIVS DATA-NUMBER)
是唯一的数据编号。如果唯一,您可以通过提供数据编号的 id 来定位
function createTimeblock() {
for (var i = 0; i < businessHours.length; i++) {
var mainDiv =`<div id="${businessHours[i]}" class="row border my-2 mx-1 time-block block${businessIndex[i]} data-number=$'{businessIndex[i]}'">` +
`<p class="time-hour0 col-md-1">${businessHours[i]}</p>` +
`<div class="displayTodo col-md-9">` +
`<div class="storedTodo"></div>` +
`<textarea class="plan-here"></textarea>` +
`</div>` +
`<div class="col-md-2">` +
`<button class="col-md-5 clearBtn ml-1"><i class="fas fa-check"></i></button>` +
`<button class="col-md-5 saveBtn"><i class="fas fa-save"></i></button>` +
`</div>`;
$('main').append(mainDiv);
}
}
console.log($("#{businessHours[0]}").attr("data-number").val());
假设您最终想将 class 添加到 div,您应该可以在创建 mainDiv
本身时做到这一点。
const mainDiv = '<div class='+i > 0 && i <5 ? 'morning': 'afternoon'+'> .... </div>';
您还可以使用数据属性查询元素:
jQuery how to find an element based on a data-attribute value?
或者您可以获取所有 div 并获取数据值并进行比较:How to get the data-id attribute?
我正在使用 javascript 并已将 9 div 动态添加到文档中。所以现在我有 9 个 div,每个 div 都有一个数据编号。第一个 div 的数据编号从 9 开始,最后一个 div 的数据编号从 17 结束。有没有一种方法可以将 div 和 return 分配给 div 的实际数据编号作为目标?我想这样做的原因是根据 div 的数据数量是否小于、大于或等于数组索引来设置样式。
var businessHours = ["9AM" , "10AM" , "11AM" , "12PM" , "1PM" , "2PM" , "3PM" , "4PM" , "5PM"];
var businessIndex = [9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17];
function createTimeblock() {
for (var i = 0; i < businessHours.length; i++) {
var mainDiv =`<div class="row border my-2 mx-1 time-block block${businessIndex[i]}" "data-number=${businessIndex[i]}">` +
`<p class="time-hour0 col-md-1">${businessHours[i]}</p>` +
`<div class="displayTodo col-md-9">` +
`<div class="storedTodo"></div>` +
`<textarea class="plan-here"></textarea>` +
`</div>` +
`<div class="col-md-2">` +
`<button class="col-md-5 clearBtn ml-1"><i class="fas fa-check"></i></button>` +
`<button class="col-md-5 saveBtn"><i class="fas fa-save"></i></button>` +
`</div>`;
$('main').append(mainDiv);
}
}
console.log(HERE IS WHERE I WOULD LIKE TO REUTRN A DIVS DATA-NUMBER)
是唯一的数据编号。如果唯一,您可以通过提供数据编号的 id 来定位
function createTimeblock() {
for (var i = 0; i < businessHours.length; i++) {
var mainDiv =`<div id="${businessHours[i]}" class="row border my-2 mx-1 time-block block${businessIndex[i]} data-number=$'{businessIndex[i]}'">` +
`<p class="time-hour0 col-md-1">${businessHours[i]}</p>` +
`<div class="displayTodo col-md-9">` +
`<div class="storedTodo"></div>` +
`<textarea class="plan-here"></textarea>` +
`</div>` +
`<div class="col-md-2">` +
`<button class="col-md-5 clearBtn ml-1"><i class="fas fa-check"></i></button>` +
`<button class="col-md-5 saveBtn"><i class="fas fa-save"></i></button>` +
`</div>`;
$('main').append(mainDiv);
}
}
console.log($("#{businessHours[0]}").attr("data-number").val());
假设您最终想将 class 添加到 div,您应该可以在创建 mainDiv
本身时做到这一点。
const mainDiv = '<div class='+i > 0 && i <5 ? 'morning': 'afternoon'+'> .... </div>';
您还可以使用数据属性查询元素: jQuery how to find an element based on a data-attribute value?
或者您可以获取所有 div 并获取数据值并进行比较:How to get the data-id attribute?