JQuery选择器:将id从数组传递给函数

时间:2010-05-21 16:29:24

标签: jquery jquery-selectors

我有一个项目列表

<div id="item1">somestuff</div>
<div id="item2">somestuff</div>
<div id="item3">somestuff</div>

当有人点击其中一个时,我需要根据id(数字)采取一些行动。让我们说隐藏吧。

如何使函数通用,如何将id传递给函数?

$(document).ready(function()
{
$("#item-howcanImakethisselectorgeneric?").click(function () { 
  $("#item-andhowcanIpasshteidintohere?").hide();
}
}

我是一个javascript / jquery新手,任何帮助(包括rtfm)赞赏。

2 个答案:

答案 0 :(得分:1)

<div id="item1" class="mygenericClass">somestuff</div>

<div id="item2" class="mygenericClass">somestuff</div>

<div id="item3" class="mygenericClass">somestuff</div>
$(document).ready(function() 
{ 
  $(".mygenericClass").click(function () {  
    //if you want the id then $(this).id
    //if you just want to hide the clicked element then
    $(this).hide(); 
  }); 
} 

答案 1 :(得分:0)

试试这个:

<div id="item1" class="stuff">somestuff</div>
<div id="item2" class="stuff">somestuff</div>
<div id="item3" class="stuff">somestuff</div>

JS:

$(document).ready(function()
{
   $("#item1, #item2, #item3").click(function () { 
     $(this).hide();
   }
}

甚至更好:

$(document).ready(function()
{
   $("div.stuff").click(function () { 
     $(this).hide();
   }
}

或者如果您在加载后动态地向页面中添加更多div并且不想显式添加事件处理程序

$(document).ready(function()
{
   $("div.stuff").live("click", function () { 
     $(this).hide();
   }
}