0

我需要一些帮助,我有一个论坛页面,但我无法让切换部分工作

这是代码:

    <script type="text/javascript">
 $(document).ready(function() {
    $(".button").click(function(event) {
        $("#div").hide();
        var tmp = ($("#div" + $(this).attr("target")).is(":visible") ? false : true)
        if (tmp) $("#div" + $(this).attr("target")).toggle();
    });
});
</script>
<h2>Forum</h2>
<table cellspacing="0" cellpadding="0" width="100%" class="table">
<tr style="background: #f2f2f2;"><td><strong>Name</strong></td><td></td></tr>
<tr style="display:none;" id="divDynamicID"><td>&nbsp;&nbsp;&nbsp;&nbsp;NAME</td><td align="right" width="40"><img src="../img/pencil.png">&nbsp;&nbsp;<img src="../img/delete.png"></td></tr>';
<tr class="Test"><td>&nbsp;&nbsp;&nbsp;&nbsp;Name</td><td align="right" width="40"><img src="../img/pencil.png" class="button" target="dynamicID">&nbsp;&nbsp;<img src="../img/delete.png"></td></tr>';

当您单击 .button 时,我希望它隐藏所有打开的 div 并打开您单击的那个,但此时我只能让显示部分工作而不是不显示部分。

4

2 回答 2

0

我不太确定你的问题。如果我理解正确的话,我会说两件事。首先,您可以为要显示的 tr id 设置一个局部变量。我猜 id 是带有“div”前缀的按钮类的目标属性的值。其次,您可以为每一行设置一个类,以便在需要时将它们全部隐藏。

echo '<tr style="display:none;" id="div'.$obj->boardID.'"><td>&nbsp;&nbsp;&nbsp;&nbsp;'.$obj->name.'</td><td align="right" width="40"><img src="../img/pencil.png">&nbsp;&nbsp;<img src="../img/delete.png"></td></tr>';
echo '<tr class="Test"><td>&nbsp;&nbsp;&nbsp;&nbsp;'.$obj->name.'</td><td align="right" width="40"><img src="../img/pencil.png" class="button" target="'.$obj->boardID.'">&nbsp;&nbsp;<img src="../img/delete.png"></td></tr>';

在居所中,我放置了一个类 trClass。您可以将其更改为您认为与代码相关的任何内容。

$(".button").click(function(event) {
    $('.trClass').hide();
    var trId="div"+$(this).attr("target");
    var tmp = $("#" + trId).is(":visible");
    if (tmp) $("#" + trId).show();
});
于 2013-07-09T09:59:32.770 回答
0

在您的 jQuery 代码中,我找到了带有 的代码#div,但在 HTML 代码中找不到带有 id div 的 div。# 只会与 HTML 控件的 id 一起使用

而 div 是用于 HTML 控件的选择器

于 2013-07-09T09:56:58.180 回答