为什么我调用函数时没有读取它?

Why the function is not read when I call it?

我是法国人(对不起我的英语)网络开发新手 Javascript..

我创建了一个名为“manyStyles”的函数。

这个函数必须使用 querySelector("") 抓取一个元素,然后应用一些样式到之前抓取的元素。 很简单的功能,只是试用和学习。

脚本的逻辑是:

-我创建了 4 个变量,其中包含 函数提示符(""); => 用户的价值存储在这4个变量中。

let askForElement= prompt("Type some selectors, with CSS synthax.. example:h1,h2.. #test(id) or .test(class)");
let askingHeight= prompt("Type some value for the height");
let askingWidth= prompt("Type some value for the width");
let askingBackgroundColor= prompt("Type some value for the background-color ex:red,green,blue, #66a ..");

-我声明我的函数 manyStyles,括号内有 4 个参数(变量)(elementGrab,elem_height,elem_width,element_bg_color ) => elementGrab 用于捕获元素,就像我之前解释的那样,其他参数是样式变量。

function manyStyles(elementGrab,elem_height,elem_width,element_bg_color){
    let grabbedElement;
    grabbedElement=document.body.querySelector(`${elementGrab}`);
    document.body.grabbedElement.style=`height:${elem_height}px;width:${elem_width}px;background-color:${element_bg_color};`;
}

=>在 body 函数中,我只是创建了一个名为“grabbedElement”的变量,用于在下面的语句中存储要被抓取的元素。

最后我用她的名字调用函数,在参数中我输入了 4 个变量 prompt(在第一步中创建的);

manyStyles(askForElement,askingHeight,askingWidth,askingBackgroundColor);

通常该函数必须使用 querySelcetor 抓取元素,然后对其应用样式。

但由于某些原因不起作用

看完整代码更说明..

谢谢

let askForElement= prompt("Type some selectors, with CSS synthax.. example:h1,h2.. #test(id) or .test(class)");
let askingHeight= prompt("Type some value for the height");
let askingWidth= prompt("Type some value for the width");
let askingBackgroundColor= prompt("Type some value for the background-color ex:red,green,blue, #66a ..");


function manyStyles(elementGrab,elem_height,elem_width,element_bg_color){
    let grabbedElement;
    grabbedElement=document.body.querySelector(`${elementGrab}`);
    document.body.grabbedElement.style=`height:${elem_height}px;width:${elem_width}px;background-color:${element_bg_color};`;
}

manyStyles(askForElement,askingHeight,askingWidth,askingBackgroundColor);

你在里面创建了一个变量 let grabbedElement 你给它分配了抓取的元素,但你没有使用它。应该是这样的,换抓取的元素。

grabbedElement.style=`height:${elem_height}px;width:${elem_width}px;background-color:${element_bg_color};`;

您试图从 document.body.grabbedElement 获取 styles,但那里不存在 document.body.grabbedElement

乍看之下,您所做的是创建一个变量,但是您并没有使用该变量来设置样式。 document.body.grabbedElement 等于 undefined.

function manyStyles(elementGrab,elem_height,elem_width,element_bg_color){
   let grabbedElement=document.body.querySelector(`${elementGrab}`);
   grabbedElement.style=`height:${elem_height}px;width:${elem_width}px;background-color:${element_bg_color};`;
}