javascript - 如果单击另一个 <td>,则使 <td> 可见

标签 javascript jquery html css show-hide

所以我有一个下面,代码可以在下面看到:

<table>
    <tr>
        <td id="first">itemOne</td>
        <td id="firstClicked">itemOneInfo</td>
    </tr>
    <tr>
        <td id="second">itemTwo</td>
        <td id="secondClicked">itemTwoInfo</td>
    </tr>
</table>

我希望在单击#first 和#second 时隐藏#firstClicked 和#secondClicked,我希望显示#firstCLicked 和#secondClicked。我将如何做到这一点?到目前为止我已经

$('#firstClicked').css('visiblilty','hidden');
$('#first').click(function() {
    $('#firstClicked').css('visibility','visible');
});

但这行不通。另外,即使这行得通,我也必须为#second 做同样的事情,而且我还计划创建更多的,所以我不想多次重复相同的代码。有更好的方法吗?

最佳答案

我建议使用 jQuery 的 hideshow 函数,以及用于事件处理的 on 函数。 jQuery 的主要功能在于它使事情在浏览器中“正常工作”,因此使用 hide 将让库选择要执行的操作以使该操作发生,而您不必再猜测自己。示例:

$('#firstClicked').hide();
$('#first').on('click',function() {
    $('#firstClicked').show();
});

此外,在您的原始代码中,您还有一些错误:

$('firstClicked').css('visiblilty','hidden');
// should be:
$('#firstClicked').css('visibility','hidden');

但是,由于您担心必须重复您的代码,您可以执行以下操作:

HTML:

<table>
    <tr>
        <td id="first" class="clickable">itemOne</td>
        <td id="firstClicked"><div class="initiallyHidden">itemOneInfo</div></td>
    </tr>
    <tr>
        <td id="second" class="clickable">itemTwo</td>
        <td id="secondClicked"><div class="initiallyHidden">itemTwoInfo</div></td>
    </tr>
</table>

JS:

$('.initiallyHidden').hide();
$('.clickable').on('click',function() {
    $(this).siblings("td").children(".initiallyHidden").show();
});

这样,任何具有 clickable 类的元素在单击时都会寻找具有 initiallyHidden 类的兄弟元素并显示它

编辑:更新示例以处理 Christophe 评论中提出的问题。

关于javascript - 如果单击另一个 <td>,则使 <td> 可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19231573/

相关文章:

javascript - 查看哪些内容未通过 HTTPS 发送

javascript - Angular2 - 限制 p 内的行数

javascript - 如何在Jmeter中导入Cryptojs

javascript - 在 wordpress 中使用 js、css 和 html

javascript - 更改函数 jquery 中的全局变量值

jQuery 防止按钮点击时的回发

css - SaaS 应用程序的自定义登录页面

javascript - Internet Explorer 对象不支持此属性或方法

javascript - Firebase - 防止基于角色的身份验证

javascript - 在 codeigniter 中查找数据库中的两个日期时间差异