为什么这种方法不可以呢

为什么这种方法不可以呢

为什么用setAttribute不能实现效果呢

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>HTML事件</title>
</head>
<body>
    <!--补充代码-->
    <input type="button" value="开始" onmouseover="over(this,'purple')" onmouseout="out(this)"/>
    <input type="button" value="结束" onmouseover="over(this,'yellow')" onmouseout="out(this)"/>
    <script type="text/javascript">
        //补充代码
        function over(btn,bg){
            btn.style.color=bg;
        }
        function out(btn){
            btn.setAttribute("backgroundColor","#333");
        }
    </script>    
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

 同学,你好。首先跟你道个歉,由于网络原因但是回答的时候卡了一下,正确的效果图没有替换成功,导致第一张图错误的图出现了两次,事后也没有检查出来,非常抱歉,以后我会更加仔细一点。这个问题我重新回答一下:
这个功能使用setAttribute其实也可以实现,只不过需要这么写,稍微有点啰嗦:

http://img1.sycdn.imooc.com//climg/5c3c2ed00001c12b06230098.jpg

但是,一般我们不用setAttribute做这个操作,一般用setAttribute来实现属性和属性值的设置,比如,设置一个class为open。
如果是改变样式的话,我们可以直接调用style属性去设置比较简单,如下:
http://img1.sycdn.imooc.com//climg/5c3c2f1800010e1504410209.jpg

如果帮助到了你,欢迎采纳!祝学习愉快! 


  • 光aaaaand影 提问者 #1
    明白了,谢谢老师
    2019-01-14 15:15:14
Steve007 2019-01-14 11:33:10

 同学,你好,使用setAttribute其实也可以实现,只不过需要这么写:
http://img1.sycdn.imooc.com//climg/5c3c02820001bf8f06490094.jpghttp://img1.sycdn.imooc.com//climg/5c3c028e0001bf8f06490094.jpg

但是,一般我们不用setAttribute做这个操作,一般用setAttribute来实现属性和属性值的设置,比如,设置一个class为open。
如果是改变样式的话,我们可以直接调用style属性去设置比较简单,如下:

http://img1.sycdn.imooc.com//climg/5c3c02f40001d01704660254.jpg

如果帮助到了你,欢迎采纳!祝学习愉快!


  • 提问者 光aaaaand影 #1
    老师您好,我的setattribute语法错了吗,既然可以,为什么没有实现效果呢
    2019-01-14 12:38:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师