这是我第一次使用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')中,这样我就可以使用两行代码了整体功能。不要担心隐藏或标记活动...只是我需要的基本技术。
非常感谢。
答案 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"
我希望我明白你在问什么,这会有所帮助。祝你好运。