我使用的是JQM,我遇到了动态生成HTML的情况。这是可能的,甚至可能相同的HTML将被使用在更多的地方在页面上。我有一个div,其中有数据,我只想在用户单击报头div时显示。IE:
<html>
<head>
<style>
</style>
<script src="/js/jquery.js"></script>
</head>
<body>
<div onclick="$(this).children('div:first').toggle();">This is Div 1</div>
<div style="display:none">
<p>I'm hidden</p>
</div>
</div>
</body>
</html>
我想做的是,当用户点击点击我的链接,孩子切换它的显示开关。对于如何在不使用复杂的ID方案的情况下完成这一任务,有什么想法吗?(我至少想到了两个)。
发布于 2015-08-20 21:03:47
根据您发布的代码,包含“我隐藏的”的div不是第一个div的子类。
可以使用$.eq()来选择特定的子索引:https://api.jquery.com/eq/
<div onclick="$(this).children('div').eq(0).toggle();">
This is Div 1
<div style="display:none">
<p>I'm hidden</p>
</div>
</div>
参见工作JSFiddle (带有Div1的“隐藏div”子)
如果需要切换兄弟姐妹的可见性,可以使用$.siblings() https://api.jquery.com/siblings/或$.next() https://api.jquery.com/next/
<div onclick="$(this).next().toggle();">
This is Div 1
</div>
<div style="display:none">
<p>I'm hidden and I'm a sibling</p>
</div>
参见JSFiddle2 (隐藏的Div1兄弟姐妹)
发布于 2015-08-20 20:31:56
您可以将一个事件绑定到clicked中,并在javascript/jquery中,在"this“(单击的div )之后找到第一个子div。就像这样:
$(this).children("div:first");
https://stackoverflow.com/questions/32127522
复制相似问题