首先,对标题感到抱歉,我知道这不是很具体,但我真的很难说还有什么可说的.
因此,在我尝试并解决我的问题之前,你不妨看看我制作的这个jsfiddle:http: //jsfiddle.net/ax1ncdmu/2
它在这个小提琴中是如何工作的正是我希望它如何工作,但正如你可以看到jQuery是这样的:
$(document).ready(function () { $("input[name=guest0]").click(function () { $('#guest0').toggle(); }); $("input[name=guest1]").click(function () { $('#guest1').toggle(); }); $("input[name=guest2]").click(function () { $('#guest2').toggle(); }); });
但是写出这样的代码似乎很草率,只是重复同样的事情.我觉得它应该是显而易见的但我之前没有使用过jQuery,所以我很难搞清楚它.
有没有办法找出被点击的复选框的"名称",然后使用该字符串插入代码?或者这是错误的方式吗?
您可以使用jQueries attribute-starts-with-selector:
$(document).ready(function () { // all inputs that its name starts with "guest" $("input[name^=guest]").click(function () { // read the name and apply to id $('#'+$(this).attr('name')).toggle(); }); });
看它工作:
http://jsfiddle.net/ax1ncdmu/7/