jQuery 选择器不工作/点击触发器未触发

jQuery selector not working / click trigger is not triggered

我的网站有 3 个 "desktops" (div),点击顶部栏中的 td,"desktops" 中的一个出现

$("#bar td").click(function() {
    var hash = $(this).data("sDiv");
    $(hash).animate({right: "0px")}, 400);
});

到这里,一切正常。

然后我添加了这个脚本,当有人打开带有散列的页面时,使 td 中的一个被选中(改变颜色)。

if(location.hash.length !== 0) {
    $("[data-sDiv='" + location.hash + "']").addClass("selected");
}

而且一切正常。

之后,在之前的 if 中,我添加了另一个脚本,当有人打开带有哈希的页面时触发对 td 的点击。

$("[data-sDiv='" + location.hash + "']").trigger("click");

但是使用此代码不会触发点击,但其余代码工作正常。我在控制台中没有错误,所以我不明白我做错了什么,为什么这不起作用?

编辑(添加信息):

这是我的导航栏

<div id="bar">
    <table cellpadding="0" cellspacing="0">
        <tr>
            <td data-sDiv="#desk1"><a data-bash="42548">Desktop 1</a></td>
            <td data-sDiv="#desk2"><a data-bash="42CA1">Desktop 2</a></td>
            <td data-sDiv="#desk3"><a data-bash="42FC9">Desktop 3</a></td>
        </tr>
    </table>
</div>

这是我的 "desktops"

<div id="desk1">Content</div>
<div id="desk2">Content</div>
<div id="desk3">Content</div>

DesktopsNavbar 都是 body

的直系子代

一种可能是您在实际绑定事件之前触发了点击事件。

检查 if 块和 $("#bar td").click(function() { ...

的顺序