如何获得使用jquery的clicked元素的id?
问题描述:
我想获取点击元素的ID,然后显示匹配此ID的div
。我正在使用下面的代码,它不工作。请帮忙。如何获得使用jquery的clicked元素的id?
$(function() {
var tabContainers = $('div.difContetform > div');
$('div#head-nav ul a').click(function (event) {
$('div#head-nav ul a').removeClass('current');
$(this).addClass('current');
var current_id = $(this).attr("id");
var targeted='DIV'+current_id;
$(targeted).show();
$(targeted:not).hide();
//
return false;
})
});
答
你要使用正确的选择语法的ID,这是字符串#id
抓住你的div ...因此:
$('#'+targeted).show();
$('something:not(#'+targeted+')').hide();
编辑:再次在此展望(双采取),你不能只隐藏所有不匹配的东西,因为它会隐藏你的整个页面。你需要确定你只选择了DIV,但不是你想要显示的那个。这是如何工作取决于你的页面布局(因此在上面的例子something
)。
答
非常感谢亲爱的我现在能够显示div但不能隐藏其他人。 正如你所说的所有页面消失,我已经在容器id = formContainer和其他divs(id身份证的孩子)在这个ID下显示隐藏和1显示被点击。
我使用下面的语法
$('div#difContetform > div:not(#'+targeted+')').hide();
,但其没有工作,虽然页面不会消失,但没有隐瞒其他的div
嗯,我不知道你的页面的布局,所以我可以”告诉那个选择器有什么问题。它说:找到一个id为'difContetform'的div,然后找到它的所有直接的孩子,这些孩子是div,不包括具有目标id的孩子,并且隐藏它们。 – 2009-01-16 21:07:05