javascript - 如何隐藏元素并在单击时显示新元素?

标签 javascript jquery html css fadein

我有三个图像,单击它们时会显示一个包含文本的隐藏元素。但是,我想确保在显示一个时隐藏其他 2 个隐藏元素。所以,如果我点击#img2,那么#text2 会显示,但#text1 和#text3 会被隐藏。此外,这可能只是一个语法错误,但是当我试图将我的所有代码都放在 script 标签下时,它无法正常工作。我还喜欢将所有 jquery 放在脚本标记中,而不是使用 HTML 中的 onclick 功能。我是 jquery 的新手,所以感谢所有帮助。提前致谢!

<div id = "img1" onclick = "$('#text1').fadeIn(500)"></div>
<div id = "img2" onclick = "$('#text2').fadeIn(500)"></div>
<div id = "img3" onclick = "$('#text3').fadeIn(500)"></div>

<div id = "text1" hidden></div>
<div id = "text2" hidden></div>
<div id = "text3" hidden></div>

<script>
    /* TODO: Put all on-click code here */
</script>

最佳答案

保持代码不引人注目是一个好习惯

HTML

<div id = "img1" class="img">One</div>
<div id = "img2" class="img">Two</div>
<div id = "img3" class="img">Three</div>

<div id = "text1" class="hidden">One</div>
<div id = "text2" class="hidden">Two</div>
<div id = "text3" class="hidden">Three</div>​

CSS

.hidden{display:none}​

jQuery

$(function(){
    $("div.img").on("click", function(){
       var id = $(this).attr("id").substr(-1);
       $(".hidden").hide();
       $("#text"+id).show();        
    });   
})​

DEMO

关于javascript - 如何隐藏元素并在单击时显示新元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12482675/

相关文章:

javascript - 如何在没有 ID (Java) 的 Selenium 中单击 Javascript 按钮?

jquery - 当鼠标悬停在确定类别的元素上时显示详细信息

javascript - 在 php 中使用 javascript 模板

javascript - ExtJS 6.2.1 - 如何更改 Ext.toast() 的 UI?

javascript - 如何在 JQuery 弹出窗口中的文本框上实现所需的验证

python - Selenium/xpath 从下拉菜单中获取文本

javascript - HTML Slider 中的第一张幻灯片在初始页面加载时不显示

javascript - 为什么使用 document.write 创建一个 iframe "cancel out"所有剩余的 Javascript?

Javascript appendChild() 调用在 IE 中不起作用

javascript - 为什么复选框更改了两次?