在JavaScript中,动态生成ID并赋值通常涉及到以下几个步骤:
function generateRandomId(length) {
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let result = '';
const charactersLength = characters.length;
for ( let i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
const dynamicElement = document.createElement('div');
dynamicElement.id = generateRandomId(10); // 生成一个长度为10的随机ID
document.body.appendChild(dynamicElement);
function generateTimestampId() {
return 'id_' + new Date().getTime();
}
const dynamicElement = document.createElement('div');
dynamicElement.id = generateTimestampId(); // 生成基于时间戳的ID
document.body.appendChild(dynamicElement);
function generateUUID() { // Public Domain/MIT
let d = new Date().getTime();//Timestamp
let d2 = (performance && performance.now && (performance.now()*1000)) || 0;//Time in microseconds since page-load or 0 if unsupported
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
let r = Math.random() * 16;//random number between 0 and 16
if(d > 0){
r = (d + r)%16 | 0;
d = Math.floor(d/16);
} else {
r = (d2 + r)%16 | 0;
d2 = Math.floor(d2/16);
}
return (c==='x' ? r : (r&0x3|0x8)).toString(16);
});
}
const dynamicElement = document.createElement('div');
dynamicElement.id = generateUUID(); // 生成UUID
document.body.appendChild(dynamicElement);
通过上述方法,你可以根据具体需求选择合适的ID生成策略,并将其赋值给动态生成的元素。
没有搜到相关的文章