老师,这样写为什么不可以
来源:2-4 编程练习
李小圆_
2019-06-26 18:58:53
$('div').mousedown(function () {
console.log(this);
$(this).css({
'background-color': 'red'
});
}).text('背景颜色为红色').mouseup(function () {
$(this).css({
'background-color': 'yellow'
});
}).text('背景颜色为黄色');为什么这里的背景为红色触发不了啊
还有为什么这里的this指向的是
这个div标签而不是
这个jQuery对象?
感谢老师解答。
1回答
你好,
(1)这样写不对的哦,打开页面显示文字为黄色:

这是因为链式调用执行到最后,红色替换掉了白色,然后黄色替换掉了红色,所以文字会一直显示黄色。
链式调用并不是说前面一个调用完了后面才会调用,如果是这种情况,不需要进行操作的,那些可以自动完成的就会按照顺序执行。
这里可以修改为:

文本填充放到事件里面来写。
(2)关于this的问题已经在另一个相似问题中进行了回复:
http://class.imooc.com/course/qadetail/128920
可以查看一下哦。
祝学习愉快!
相似问题