请问问题出在哪里

来源:6-7 编程练习

蛤小蛤

2019-11-05 17:09:04

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <title>arguments</title>
  </head>
  <body>
    <p id="test" style="background-color: red; color: blue;">我是一个段落!</p>
    <script type="text/javascript">
      // 在此处补充代码

      /* 6-7 编程练习
       写一个操作css的函数,要求第一个参数传DOM元素(elem),第二个参数传属性名,第三个参数传属性值。如果只有两个参数,则返回属性的值;如果有三个参数则设置属性值

       任务

       1.     定义一个函数css , 用于操作css

       2.     利用arguments.length判断实参的个数,做相应的事情

               如果只有两个参数

               如果有三个参数则设置属性值

       3.     给id为test的p元素,通过css函数设置样式。

       第一个:传入一个元素,background-color和orange

       第二个:传入一个元素,一个color。并输出。 */

      function css(elem, name, value) {
        if (arguments.length != css.length) return value;
        elem.style.name = value;
      }
      css(document.getElementById("text"), backgroundColor, orange);
      console.log(css(document.getElementById("text"), color));
    </script>
  </body>
</html>


写回答

1回答

好帮手慕星星

2019-11-05

同学你好,代码中问题如下:

1、p标签id值为test不是text,写错导致元素没有获取到。

2、传参的时候需要是字符串的形式,如果不是字符串就会被认为是变量,变量没有定义的话就会报错。

3、在设置属性的时候,如果属性名是变量,不能使用点的方式设置,会直接将形参name作为属性名,而不是传入的参数了。需要换成[]的方式设置。

参考下图修改:

http://img.mukewang.com/climg/5dc144840972ff7d09400407.jpg

自己重新测试下,祝学习愉快!

欢迎采纳~

0

0 学习 · 14456 问题

查看课程