jQuery在4个div之间切换

时间:2016-02-12 22:33:32

标签: javascript jquery toggle

我有一个问题,jQuery在4个div之间切换。我不知道为什么它不起作用。它只是向我展示了第一个div并没有做任何事情。当我在其他网页上使用它时,它有效。 代码如下:

HTML:

<table style="width: 75%; border: 0; text-align: center; margin: 0 auto;" align="center" padding="10"><tr>
<td width="50%" align="center"><a class="ukaz" target="1"></a></td>
<td width="50%" align="center"><a class="ukaz" target="2"></a></td></tr>
<tr>
<td width="50%" align="center"><a class="ukaz" target="3"></a></td>
<td width="50%" align="center"><a class="ukaz" target="4"></a></td>
</tr>
</table>

<div id="div1" class="cil" style="display:block;">
text
</div>
<div id="div2" class="cil">
text
</div>
<div id="div3" class="cil">
text
</div>
<div id="div4" class="cil">
text
</div> 

CSS:

 .cil {
 display: none;
 } 

JS:

jQuery(function () {
    jQuery('.ukaz').click(function () {
        var index = $(this).index(),
            newTarget = jQuery('.cil').eq(index).slideDown();
        jQuery('.cil').not(newTarget).slideUp();

    });
});

1 个答案:

答案 0 :(得分:2)

您当前的表达式找到被点击元素的index,但它不知道找到index所需的元素的上下文。您需要使用与类index

匹配的所有元素来查找click元素的.ukaz
$('.ukaz').click(function () {
    var index = $('.ukaz').index($(this));
    $('.cil').slideUp();
   $('.cil').eq(index).slideDown();
});

示例:https://jsfiddle.net/DinoMyte/qgo90beb/1/