许多button->容器元素

时间:2011-08-23 08:42:18

标签: javascript jquery html

我有几个相同的按钮和容器;

类似的东西:

<div>
   <button class="myCoolButton">
       btn1
   </button>
</div>

<div class="myCoolContainer">
   container
</div>

<div>
   <button class="myCoolButton">
       btn1
   </button>
</div>

<div class="myCoolContainer">
   container
</div>

<div>
   <button class="myCoolButton">
       btn1
   </button>
</div>

<div class="myCoolContainer">
   container
</div>

因此,当用户点击按钮时,我需要在下面的容器中显示一些信息。但我怎么能理解我需要使用什么容器?将带有bindend容器的属性放到按钮上是否合适?什么是最佳做法?

jsfiddle

注意:日历必须以黄色矩形显示

6 个答案:

答案 0 :(得分:3)

$('buttonselector').click(function(){ 
      $(this) // get clicked button
      .parent() // parent of clicked buton, i.e div at odd place
       .next() // next div to parent div of clicked button, i.e, div at even place
        .html('set some value') // set value to adjacent div
})

修改

<div>
   <button id="btn1">
       btn1
   </button>
</div>

<div id="Container_btn1">
   container
</div>

$('#btn1').click(function(){ 
        var name= $(this).attr('id'); 
        $("#container_"+ name).html('set some value')
}); 

答案 1 :(得分:0)

试试这个。

$(".myCoolButton").click(function(){
    $(this).closest("div").next().html("triggered");
});

答案 2 :(得分:0)

var myCoolButtons = $('.myCoolButton');
var myCoolContainers = $('.myCoolContainer');
myCoolButtons.click(function() {
    var index = $(this).index(myCoolButtons);
    myCoolContainers.eq(index).html('CoolButton right before me is clicked');
});

答案 3 :(得分:0)

$('.myCoolButton').click(function(){

      $(this).parent().next('div').html('hello world');
});

http://jsfiddle.net/NNpvZ/

答案 4 :(得分:0)

您可以试试这个,http://jsfiddle.net/konglie/zpVWY/

    $('button.myCoolButton').click(function(){
    var container = $(this).parent().next('div.myCoolContainer')[0];
    $(container).html('clicking on ' + $(this).text());
});

答案 5 :(得分:0)

如果要在整个页面上放置按钮以及整个页面上的相应容器,那么在不扩展结构的情况下找到合适的容器将非常困难。您是否考虑添加一个与按钮匹配容器的新类?在这种情况下,无论您在哪里,都可以确定要引用哪个容器。例如,您可以为按钮添加类button1,为容器添加container1(而不是ID,可能有任何常见模式)。