-1

我的代码:

var array1 = document.getElementsByClassName("div");
var array2 = document.getElementsByClassName("button");

    for(var i = 0; i < array1.length; i++)
    {
        $(array2[i]).show();
        $(array1[i]).hide();

        $(array2[i]).click(function(){
            $(array1[i]).slideToggle();
        });
    }

为什么出现错误:无法转换 JavaScript 参数 arg 0?

4

1 回答 1

4
var $buttons = $(".button").hide();

$(".div").show().bind("click", function(event) {
    var index = $divs.index(this);

    $buttons.eq(index).slideToggle();
});

或者:

var $buttons = $(".button").hide(),
    $divs = $(".div").show();

$.each($buttons, function(index) {
    var $button = $(this);
    $divs.eq(index).bind("click", function() {
        $button.slideToggle();
    });
});

或者

var $buttons = $(".button").hide(),
    $divs = $(".div").show();

$buttons.each(function(index) {
    var $button = $(this);
    $divs.eq(index).bind("click", function() {
        $button.slideToggle();
    });
});
于 2012-05-08T20:20:57.100 回答