【发布时间】:2011-02-15 21:06:55
【问题描述】:
在我的程序中,我有几个非常相似的下拉菜单,它们都具有相同的名称(以下示例中为 foo)。在更改时,它们会隐藏或显示附近的 div 标签,具体取决于是否选择了“ON”。
$('.togClass').hide();
$('[name*="foo"]').change(function(){
if ($('[value="ON"]').is(':selected')) {
$('.togClass').show('blind', 1000);
} else {
$('.togClass').hide(1000);
}
});
事实上,当下拉菜单的任何选择“ON”时,所有带有“togClass”类的div标签都会切换,有没有一种方法可以选择只显示/隐藏nearby div 到选择“ON”的下拉菜单(它们嵌套在同一个 div 中)?我不想为要隐藏的每个 div 编写此函数的副本。
这是它在 HTML 中的工作方式:
<select name="foo">
<option value="OFF">OFF</option>
<option value="ON">ON</option>
</select><br/>
<div class="togClass">
//Stuff
</div>
【问题讨论】:
-
如果您可以发布您的 html(或者,至少是一个 sn-p)甚至是相同的 JS Fiddle demo,这将更容易回答。
-
我添加了相关的 HTML 希望对您有所帮助!
-
我建议使用更具体的选择器 - 人眼更容易阅读,而 jquery 可以更快地定位元素。例如 - $(".class") - 不太好,$("div.class") - 好多了。 $('[name*="foo"]') - $('select[name*="foo"]')。选择器越模糊,jquery 定位元素所花费的时间就越多。
标签: javascript jquery