1
我有3“桌面”网站(申报单),并单击顶栏中的“桌面”的一个td
进来jQuery选择不工作/点击触发没有被触发
$("#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>
这是我的 “桌面”
<div id="desk1">Content</div>
<div id="desk2">Content</div>
<div id="desk3">Content</div>
两个Desktops
和Navbar
是直接孩子的body
你有没有试过以下? (“[data-sDiv ='”+ location.hash +“']”)。click(); –
是的@DanielRosano,这不起作用,结果相同。没有错误。 – Mannanna
'td'和'div/desktop'之间的关系/层次结构是什么?你可以发布'html'吗? –