-1

jQuery 讨厌我...我在表格中设置了一组图像,每个图像在下面的 div 中都有一个关联的表单...我希望能够通过将图像用作“选项卡”来在这些表单/div 之间切换',但它似乎不起作用。我所能做的就是让它隐藏不是第一个的div。这是有史以来最基本的事情。

这是我尝试使用 jQuery 修改的 HTML 示例:

<table id="publishimages">
  <tr>
    <td href="#tab-1">
      <img class="image1" src="randomsource1">
    </td>
    <td href="#tab-2">
      <img class="image2" src="randomsource2">
    </td>
 </tr>
</table>

<div id="desc">
  <div id="tab-1">
    Random description1
  </div>
  <div id="tab-2">
    Random description2
  </div>
</div>

这是我的 jQuery 脚本...

    $(document).ready(function() {
        $('#desc div').hide();
        $('#desc div:first').show();
        $('#desc td:first').addClass('active');

        $('#desc td img').click(function() {
            $('#desc td').removeClass('active');
            $(this).parent().addClass('active');
            var currentTab = $(this).parent().attr('href');
            $('#desc div').hide();
            $(currentTab).show();
            return false;

        });
    });

这有什么可怕的错误?有没有比试错更有效的调试 JavaScript 的方法?

4

2 回答 2

1

嗨更正了您的代码:

$(document).ready(function() { 
            $('#desc div').hide();              
            $('#desc div:first').show();                
            $('#publishimages td:first').addClass('active');        
            $('#publishimages td').click(function(){                    
                $('#publishimages td').removeClass('active');                   
                $(this).addClass('active');                 
                var currentTab = $(this).attr('href');                  
                $('#desc div').hide();                  
                $(currentTab).show();                   
                return false;
                });
    });

这将做必要的事情。

于 2013-02-26T11:10:41.557 回答
1

我认为您的代码在这里缺少:

$('#desc td:first').addClass('active');

应该是:

$('#publishimages td:first').addClass('active');

还有这些:

$('#desc td img').click(function() {
        $('#desc td').removeClass('active');

应该:

$('#publishimages td img').click(function() {
        $('#publishimages td').removeClass('active');
于 2013-02-26T11:19:15.843 回答