非常基本的jQuery用法:使用$(this)或var

时间:2012-03-26 16:37:16

标签: jquery tabs this var

这是我第一次使用jQuery。我只想快速解决以下问题:

很简单;当单击div#a1.toolbotbut时,显示div#a1p。 单击#a2.toolbotbut时,将显示div#a2p。 单击#b2.toolbotbut时,会显示div#b2p等。 所以单独的jquery看起来像这样:

$('#a1.toolbotbut').click(function() {
  $('#a1p.overlay').fadeIn('slow');
  });

$('#a2.toolbotbut').click(function() {
  $('#a2p.overlay').fadeIn('slow');
  });

你能告诉我如何使用$(this)或var来挑选所选的div ID并将其插入到$('... p.overlay')中,这样我就可以使用两行代码了整体功能。不要担心隐藏或标记活动...只是我需要的基本技术。

非常感谢。

2 个答案:

答案 0 :(得分:2)

像这样:

$('.toolbotbut').click(function() {
  var id = $(this).attr('id');
  var overlayId = '#' + id + 'p.overlay';
  $(overlayId).fadeIn('slow');
});

答案 1 :(得分:1)

this变量是指在点击事件中调用function()的对象(即#a1.toolbotbut)。如果您在函数内部引用this,那么您实际上是指#a1.toolbotbut。如果将this作为$(this)包装在$()中,那么您已将#a1.toolbotbut转换为jQuery对象。

jQuery对象具有attr方法,该方法将返回属性或属性,因此您可以执行以下操作:

var div_id = $(this).attr(); // returns "a1"

我希望我明白你在问什么,这会有所帮助。祝你好运。