js 动态创建 a 元素 添加事件的时候报错了 说类型不匹配

vara=document.createElement("a");a.attachEvent("onmouseover","this.style.backgroundIm... var a = document.createElement("a");
a.attachEvent("onmouseover", "this.style.backgroundImage='url(yxjg.jpg)'");
a.attachEvent("onmousedown", "this.style.backgroundImage='url(yxjg.jpg)'");
a.attachEvent("onmouseout", "this.style.backgroundImage='url(yx.jpg)'");
以上代码 可以复制来测试下就知道了 会报错 ,,, 请问应该怎样给这三个赋值呢? 因为a 是动态创建出来的 而不能通过前台html 直接赋值 好纳闷
展开
 我来答
何宜校
推荐于2017-09-02 · TA获得超过1691个赞
知道小有建树答主
回答量:702
采纳率:0%
帮助的人:958万
展开全部
//attachEvent第二个参数是函数,不是字符串,改成:
a.attachEvent("onmouseover", function () { this.style.backgroundImage = 'url(yxjg.jpg)' });
追问

报错了 你看看 说对象为空了。。

追答
改成:
 a.attachEvent("onmouseover", function (e) { e.srcElement.style.backgroundImage = 'url(yxjg.jpg)' });
 
 完整代码:
 <head>
    <title>ABC</title>
    <script type="text/javascript">
        function toC() {
            var a = document.createElement("a");
            a.innerHTML = "newA";
            a.attachEvent("onmouseover", function (e) { e.srcElement.style.backgroundImage = 'url(yxjg.jpg)' });
            document.body.appendChild(a);
        }
    </script>
</head>
<body>
    <input type="button" onclick="toC()" value="createElement"/>
</body>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式