2

我在一个页面中有很多 div,如下所示:

<div class="formitem food-6 group-7">
//content of div
  <input type="checkbox"> //child of div
</div>

<div class="formitem food-7 group-7">
//content of div
  <input type="checkbox"> //child of div
</div>

当一个复选框被选中时,我想将它的父类的值存储在一个变量中,例如“food-6”或“food-7”。我可以获得父母的所有课程,如下所示:

parent = $(this).closest(".formitem").attr("class");

这给了我formitem food-7 group-7

我怎样才能得到“以食物开头的那个-”?

4

3 回答 3

6

尝试一个简单的正则表达式

parent = $(this).closest(".formitem").attr("class").match(/\b(food-\d+)\b/)[1];
于 2013-10-28T16:14:01.740 回答
2

使用正则表达式

...attr("class").match(/food-\d+/)

如果你只想要数字

.match(/food-(\d+)/)[0]
于 2013-10-28T16:14:45.803 回答
0
$(':checkbox').click(function(){
    var parent_class = '';
    parent_class = $(this).parent('div').attr('class').match(/food-\d+/);
    alert(parent_class);
});
于 2013-10-28T16:23:31.370 回答