请问问题出在哪里
来源: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回答
同学你好,代码中问题如下:
1、p标签id值为test不是text,写错导致元素没有获取到。
2、传参的时候需要是字符串的形式,如果不是字符串就会被认为是变量,变量没有定义的话就会报错。
3、在设置属性的时候,如果属性名是变量,不能使用点的方式设置,会直接将形参name作为属性名,而不是传入的参数了。需要换成[]的方式设置。
参考下图修改:
自己重新测试下,祝学习愉快!
欢迎采纳~
相似问题