如何使用jQuery选择具有相似属性的元素?

时间:2015-12-01 16:09:15

标签: javascript jquery html

首先,对标题感到抱歉,我知道这不是很具体,但我真的很难说还有什么要说的。

所以,在我尝试并解决我的问题之前,你不妨看看我制作的这个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,所以我很难搞清楚它。

有没有办法找出被点击的复选框的“名称”,然后使用该字符串插入代码?或者这是错误的方式吗?

1 个答案:

答案 0 :(得分:8)

您可以使用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/