我将尝试为三个div实现简单的显示/隐藏操作。在IE中运行良好,但在Chrome或FireFox中onClick功能无法正常工作。
以下是我的代码(带有简化的div内容):
$(function showHide() {
$("#showaudience").click(function() {
$("#behavior").hide();
$("#acquisition").hide();
$("#audience").show();
});
$("#showbehavior").click(function() {
$("#behavior").show();
$("#acquisition").hide();
$("#audience").hide();
});
$("#showacquisition").click(function() {
$("#behavior").hide();
$("#acquisition").show();
$("#audience").hide();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div>
<input type="button" id="showaudience" value="Audience" onClick="showHide"></input>
<input type="button" id="showbehavior" value="Behavior" onClick="showHide"></input>
<input type="button" id="showacquisition" value="Acquisition" onClick="showHide"></input>
</div>
<div id="audience" style="display:block;">Audience Data</div>
<div id="behavior" style="display:none;">Behavior Data</div>
<div id="acquisition" style="display:none;">Acquisition Data</div>
$('.myClass').hide(); $('#myButton').show()
,甚至可以连接你的调用$('#myClass1, #myClass2').hide()
,这将节省几行代码和 jQuery 调用。对于 3 个按钮来说可能看起来不必要,但如果你有 20 个按钮,这可能会很有用。 - Jeff NoelshowHide()
函数内部?这意味着您需要调用showHide()
函数才能添加单击事件监听器... 这不是有缺陷的逻辑吗?(真的很好奇) - Jeff Noel