由于这是一个相当基础的问题,我认为在回答你的问题时,通过 jQuery 文档向你演示会更有教育意义。如果你对 jQuery 真的一无所知,我建议先跟随这个简短的教程 -- 这将使你未来的工作变得轻松得多:jQuery文档 - 入门指南
你的要求是,当我们点击单选按钮时,发生某些事情(在本例中,另一个元素被隐藏/显示)。这个问题有两个部分:首先,我们需要找到单选按钮,然后我们需要在单击它时执行某些操作。
1. 查找单选按钮
请查看 jQuery 选择器文档,链接在这里:http://api.jquery.com/category/selectors/
正如你所看到的,单选按钮有一个特定的伪选择器 ":radio"。我们想选择 ID 为 "buttons" 的元素内的所有内容,因此选择器总体上看起来像这样:
$("#buttons input:radio");
顺便说一下,它被称为“伪选择器”,因为它过滤了我们已经选择的项目(在这种情况下,是 ID 为“button”的 div 内的 input 标记)。伪选择器始终以“:”开头。
2. 点击它们时让某些事情发生
请查阅 jQuery 事件参考文档:http://api.jquery.com/category/events/
我们在此需要“.click()”事件。一旦我们选择了元素,就可以像这样将单击处理程序应用于它们:
$("#buttons input:radio").click(function() {
alert("input button clicked: " + $(this).index());
});
请注意,这将为所有三个输入按钮应用相同的点击处理程序,但您可以通过“this”关键字访问被单击的特定元素。将$()包装在它周围使其成为jQuery选择而不仅仅是Javascript对象,并允许我们在其上调用jQuery函数。
3.有条件地隐藏和显示列表元素
让我们扩展上面的代码,实际上根据单击的项目隐藏和显示其他div。我们将参考jQuery Effects文档,以便我们可以使其隐藏和显示更加令人兴奋:
http://api.jquery.com/category/effects/
我们将使用的函数是“.slideUp()”,它隐藏一个元素,“.slideDown()”则显示它。我们还将使用我在上一个示例中使用的“.index()”函数来确定单击了哪个按钮,尽管我建议在将来为按钮分配唯一的ID,以便您的代码不依赖于按钮的顺序。以下是最终代码:
$("#buttons input:radio").click(function() {
if ($(this).index() == 2) {
$("#list").slideDown();
}
else {
$("#list").slideUp();
}
});
对于这个答案的长度感到抱歉,但希望它对您理解jQuery更有帮助,而不是“复制并粘贴这个三行超紧凑的解决方案”。