【发布时间】:2012-06-27 11:40:56
【问题描述】:
我在此列表上的切换有问题:
<div id="list">
<div id="segment"> // <--- when clicked, toggle segm_content and opener
<div id="opener">
<img src="images/open.png" /> // changes when toggled
</div>
<div id="segm_content">
// content to hide/show
</div>
</div>
<div id="segment"> // <--- when clicked, toggle segm_content and opener
<div id="opener">
<img src="images/open.png" /> // changes when toggled
</div>
<div id="segm_content">
// content to hide/show
</div>
</div>
... //and so on
</div>
我想点击 "#segment" 来切换子 *"#segm_content"* 并更改 "#opener" 中的 img。
我用这段代码让它工作:
$('#segment').toggle(function() {
$('#opener').html('<img src="images/open.png"/>');
$('#segm_content').hide(500);
}, function() {
$('#opener').html('<img src="images/close.png"/>');
$('#segm_content').show(500);
});
但我不知道如何一次只为一个 "#segment" 执行此操作。
这段代码切换了我不想要的一切。
我被困在这一点上,请问有什么建议吗?
非常感谢!
【问题讨论】:
-
我认为这是因为您有多个具有相同
id的<div />元素。 jQuery 将选择与给定选择器匹配的所有项目,即使选择器是id(我认为)。 -
感谢您的建议。我试图将
<div>id 更改为#name_number,但是有没有办法可以在 html 中设置变量,然后将其传递给这个脚本?喜欢onclick="toggle_me('#segment', '#opener', '#segm_content');"。我不知道如何在 jquery 脚本中成功处理这些数据:(
标签: html toggle switch-statement image selected