首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >$(this)在$(‘#.css’).css({...})中

$(this)在$(‘#.css’).css({...})中
EN

Stack Overflow用户
提问于 2012-03-12 18:04:07
回答 4查看 1.1K关注 0票数 3

我尝试将带有jquery的css应用于div元素,但它不接受$(this)参数。我想知道为什么我不能使用$(this)作为div元素的引用。

代码语言:javascript
运行
复制
blabla.css({
'top': $(window).width()/2-$(this).width()/2+'px', 
'left': $(window).width()/2-$(this).width()/2+'px'  
});

错误:未捕获宽度:对象#没有方法‘TypeError’

提前谢谢..

ps:我知道在这里我可以在$()中使用一个直接的id调用,但是我希望this可以工作。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-12 18:15:26

如果$(this)blabla,为什么不使用blabla.width()而不是$(this).width()

票数 1
EN

Stack Overflow用户

发布于 2012-03-12 18:08:24

请注意,您不是在运行回调,而是将一个对象传递给.css。因此,this不是指blabla元素,而是指调用包含此代码的函数时定义的当前上下文(这可能会有所不同)。这个上下文没有.width,然后你就会得到一个错误。

您必须显式引用宽度,如blabla.width()中所示

票数 2
EN

Stack Overflow用户

发布于 2012-03-12 18:14:30

你可能会试着

代码语言:javascript
运行
复制
$("#blabla").css('top',function(){
   alert($(this).width());
 });​
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9665028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档