html 函数,用于创建prepend元素

gkl3eglg  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(115)

这是我第一次在这里发布一个问题,如果我说了一些奇怪的话,很抱歉。我目前正在学习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);
}

字符串
我想做一些类似的东西:函数将获得父元素,要添加的元素,以及将进入内部的内容。我试图添加一个新的粗体文本例如,文本被添加但不是粗体。我做错了什么吗?或者根本不可能做到这一点?

im9ewurl

im9ewurl1#

你发布的函数中有很多错误或没有意义的东西。
例如,你创建了一个名为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");

8tntrjer

8tntrjer2#

根据答案改了几件事,结果是这样的:

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')它添加一个新的粗体文本作为段落的子级

相关问题