用于newebies的Javascript Object.defineProperty()
我需要创建一个没有id的元素的属性。我的意思是:用于newebies的Javascript Object.defineProperty(),javascript,Javascript,我需要创建一个没有id的元素的属性。我的意思是: var createdElement = document.createElement('div'); Object.defineProperty(createdElement, 'id', 'someId'); 第一条路 您可以使用Javascript中的.createElement()实现这一点。所以您不需要Object.defineProperty() 在这里,它正在使用: var btn = document.createElement
var createdElement = document.createElement('div');
Object.defineProperty(createdElement, 'id', 'someId');
第一条路
您可以使用Javascript中的.createElement()实现这一点。所以您不需要Object.defineProperty()
在这里,它正在使用:
var btn = document.createElement("BUTTON");
btn.setAttribute("id", "uniqueIdentifier");
第二条路 您还可以通过.ID()设置ID,例如: HTML
JS
var abcElements=document.querySelectorAll('.abc');
//设置他们的ID
对于(var i=0;i
这将为每个元素分配ID“abc-”。所以结果是这样的:
<div class="abc" id="abc-0"></div>
<div class="abc" id="abc-1"></div>
var createdElement = document.createElement('div');
Object.defineProperty(createdElement, 'id', {
value:'someId',
enumerable: true,
writable: true
});
对你的问题的评论
顺便说一句,学会写一个更好的题目。严格地回答你的问题,你使用的方式是错误的。应该是这样的:
<div class="abc" id="abc-0"></div>
<div class="abc" id="abc-1"></div>
var createdElement = document.createElement('div');
Object.defineProperty(createdElement, 'id', {
value:'someId',
enumerable: true,
writable: true
});
也就是说,这是一个完全奇怪的方式来实现你想要的。您可以简单地执行以下操作:
var createdElement = document.createElement('div');
createdElement.id = 'someId';
你还没问过问题。你在找教程吗?有没有一件你曾经尝试去完成但没有成功的事情?如果是,如何传递?请看一看:如果使用defineProperty,则需要传递描述符对象(
{value:x,enumerable:true}
),而不仅仅是属性值。如果只想设置属性值,可以执行标准属性赋值(x.y=z
)。一个属性的负性和其他属性的帮助性。谢谢,没有问题@Toffervar=
是无效的JavaScript。使用setAttribute
是奇数。只分配给属性(如果可用,比如本例中的.id
就是这样)是最佳做法。@Gary错过了,很抱歉