如何向JavaScript中创建的元素添加ID?

如何向JavaScript中创建的元素添加ID?,javascript,jquery,Javascript,Jquery,我原来的问题被另一个用户错误地标记为重复,但提供的链接没有回答问题的任何部分,所以我会问另一个问题。制作site builder时,我遇到了一个问题,即在创建的h1中,按OK时的提示值没有用作文本。为什么会这样?该类应用并创建了我想要的所有元素,但该文本根本不在站点上,代码中也没有错误,因为它可以正常工作 。新硬盘{ 位置:固定; z指数:5; 底部:0; 右:0; } .新的段落{ 位置:固定; z指数:5; 底部:0; 左:0; } .经典高清{ 最大宽度:100vw; 宽度:100vw;

我原来的问题被另一个用户错误地标记为重复,但提供的链接没有回答问题的任何部分,所以我会问另一个问题。制作site builder时,我遇到了一个问题,即在创建的
h1
中,按OK时的提示值没有用作文本。为什么会这样?该类应用并创建了我想要的所有元素,但该文本根本不在站点上,代码中也没有错误,因为它可以正常工作

。新硬盘{
位置:固定;
z指数:5;
底部:0;
右:0;
}
.新的段落{
位置:固定;
z指数:5;
底部:0;
左:0;
}
.经典高清{
最大宽度:100vw;
宽度:100vw;
最大高度:15vh;
高度:15vh;
位置:绝对位置;
左:0;
排名:0;
背景色:黑色;
显示器:flex;
对齐项目:居中;
}
#经典高清文本{
颜色:白色;
字体系列:无衬线;
文本缩进:3vw;
}
.fa时代{
颜色:白色;
位置:绝对位置;
顶部:0.25vh;
右:1vw;
z指数:5;
}

建站
制作标题
写段
$(文档).ready(函数(){
$(“.new hd”)。单击(函数(){
var newHdTxt=window.prompt(“您希望标题文本是什么?”,“在此处输入响应”);
var newHdCont=document.createElement(“标题”);
var newHd=document.createElement(“h1”);
$(newHdCont).addClass(“经典hd”);
$(newHd).addClass(“经典hd txt”);
document.getElementsByClassName(“classic hd txt”).innerHTML=newHdTxt;
文件.正文.附件(newHdCont);
newHdCont.appendChild(newHd);
//警报(newtext);
});
$(“.new para”)。单击(函数(){
文件。createElement(“p”);
});
});

使用attr函数添加id属性。如下所示

$jqueryElement.attr('id', 'change_it_to_what_you_want_but_should_be_unique');

代表给出答案的Nik,以下是解决问题的方法。不要使用DOM选择器
get.ElementsByClassName().innerHTML
使用方法
newHd.innerText=newHdTxt

,正如名称所说的
document.getElementsByClassName
返回一个
NodeList
,表示元素列表,而不是单个元素。您可能想改为使用
newHd.innerText=newHdTxt
。谢谢,我会尝试一下,并让您知道这是怎么回事。再次感谢您,这工作完美无瑕!现在我要整理的是应用样式。你的标题似乎与你的问题没有任何关系?你不应该一个类一个类地针对这个元素,因为类不是唯一的,这将针对这个类的所有元素。另外,由于您刚刚创建了元素,您已经将其包含在变量中,因此无需再次搜索DOM。此解决方案远不如Nik对该问题的评论那么清晰。他的修正效果很好,对我来说,仅仅通过阅读语法就很有意义。@JordanDunton如果他们在合理的时间内没有给出答案,你应该将其作为一个答案发布。