当我有多个具有相同类名的div时,如何显示/隐藏某些div

时间:2010-03-28 09:12:14

标签: javascript jquery html

我有多个div,类名为 blueflip 我想在点击div link_button 时切换此类的div内容。

我的代码:

$(document).ready(function(){
   $('.blueflip').hide(); 
   $('.link_button').click(function() {
      $('.blueflip').toggle(400);
      return false;
   });
});

工作正常。但我的问题是,我的页面在整个页面上有多个 link_button blueflip div。当我点击 link_button 中的任何一个时,所有 blueflip div都会切换。但我需要切换相应的孩子 blueflip div

注意: div是从数据库动态生成的。

如何实现,Plz的帮助。任何建议都将受到高度赞赏

2 个答案:

答案 0 :(得分:2)

这应该这样做,假设.blueflip.link_button的孩子:

$(document).ready(function(){
   $('.blueflip').hide(); 
   $('.link_button').click(function() {
      $(this).find('.blueflip').toggle(400);
      return false;
   });
});

这是因为jQuery的.find()方法,它总是搜索父jQuery对象指示的选择器的后代。

如果.blueflip个节点不是相应.link_button个节点的子节点,则可能需要在对象ID中引入一些技巧。如果所有内容都有唯一的ID(即使它只是生成DIV时的增量计数器),并且您可以将.link_button ID与.blueflip ID对应(例如,div#lb_001对应于{{ 1}}),然后这应该工作:

div#bf_001

答案 1 :(得分:0)

如果您知道页面的结构,则必须通过dom树走路,寻找所需的div(可能基于到目前为止计算了多少div)。

http://www.quirksmode.org/dom/intro.html

http://www.howtocreate.co.uk/tutorials/javascript/dombasics