提问人:EwertonRS 提问时间:11/7/2023 更新时间:11/8/2023 访问量:55
具有 3 个参数的函数,用于创建预置元素
Function with 3 arguments to create a prepend element
问:
这是我第一次在这里发布问题,如果我说了一些奇怪的话,对不起。我目前正在学习 Javascript。我只是尝试创建一个具有 3 个参数的函数、一个 Parent 元素、要创建的元素以及将进入其中的文本或内容。文本添加得很好,但用于创建元素的第二个参数似乎不起作用。
这是我尝试创建的函数
const newFirstChild = function(el,newEl,elContent){
const selectElement = (parentElement) => document.querySelector(el);
const newElement = (createElement) => document.createElement(newEl);
newEl = newEl.innerText = elContent;
selectElement(el,newEl).prepend(newEl);
}
我想做这样的事情:函数将获得 Parent 元素、要添加的元素以及将进入其中的内容。例如,我尝试添加新的粗体文本,文本已添加但未加粗。 我做错了什么吗?还是根本无法做到这一点?
答:
1赞
user3163495
11/8/2023
#1
您发布的函数中发生了很多事情,这些事情是错误的或没有意义的。
例如,您创建了一个从未被调用的函数:newElement
const newElement = (createElement) => document.createElement(newEl);
另一个问题是,当你已经有对新元素的引用时,为什么还需要创建一个新元素?如果您有对它的引用,则它已经创建。也许您正在尝试复制指向的元素?newEl
在你的问题中,是一个字符串吗?如果是这样,则可以使用以下函数创建新元素:newEl
function myFunction(parent, childType, text){
const child = document.createElement(childType);
parent.prepend(child);
child.innerText = text;
}
你可以这样称呼它:
myFunction(document.getElementById("parentElem"), "div", "hello world");
评论
0赞
EwertonRS
11/8/2023
感谢您的快速回复,我想我最终迷路了,我第一次尝试这样的事情。你的代码对我有很大帮助,非常容易理解。
1赞
EwertonRS
11/8/2023
#2
根据答案改了几件事,结果是这样的:
const newFirstChild = function(el,newEl,elContent){
const parentElement = document.querySelector(el);
const child = document.createElement(newEl);
child.innerText = elContent;
parentElement.prepend(child);
}
我这样称呼这个函数:它添加一个新的粗体文本作为段落的子项newFirstChild('p','b','sample text')
评论