Javascript 使用jQuery隐藏单击的元素并在其后面显示该元素

Javascript 使用jQuery隐藏单击的元素并在其后面显示该元素,javascript,jquery,dom,Javascript,Jquery,Dom,我想把问题放在一些HTML文本中,在用户单击按钮/链接/etc之前,答案是隐藏的,然后按钮/链接/etc消失,现在显示答案。答案将替换消失按钮/链接使用的空间。我希望像这样的问题能在文章中出现,而不仅仅是一个问题 例如,[我的想法]是一个按钮或链接: text text text Does ABC need anything? [my thoughts] text text text, text, text. 点击[我的想法]就会变成: text text text Does ABC

我想把问题放在一些HTML文本中,在用户单击按钮/链接/etc之前,答案是隐藏的,然后按钮/链接/etc消失,现在显示答案。答案将替换消失按钮/链接使用的空间。我希望像这样的问题能在文章中出现,而不仅仅是一个问题

例如,[我的想法]是一个按钮或链接:

text text text
Does ABC need anything?
   [my thoughts]

text text text, text, text. 
点击[我的想法]就会变成:

text text text
Does ABC need anything?
   ABC needs a a lot of DEF, and it will help ABC too if things are taken
   slowly.  Additionally, ABC needs a lot of sleep.
text text text, text, text. 
根据评论:这是我找到的,但并不完全正确,因为我希望它继续在页面中使用它:

谢谢per Gothdo,我正在与:

<!DOCTYPE HTML>
<html>
  <head>
    <title>Test3</title>
    <script>
      $("button").click(function()
      {
        $(this).hide();
        $(this).next().css("visibility", "visible");
      });
    </script>
    <style type="text/css" >
        div {
           visibility: hidden;
        }
    </style>
  </head>
  <body>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <button>test</button><div>test test test</div>
  </body>
</html>
请尝试以下代码:

$element.click(function() {
  $(this).hide();
  $(this).next().css("visibility", "visible");
});
代码段:

$button.clickfunction{ $this.hide; $this.next.cssvisibility,可见; }; div{ 可见性:隐藏; } 测验
测试类似的东西?文本出现,按钮消失

$function{ var-answer=$.answer; var clickable=$。clickable; 回答。隐藏 $.button.onclick,函数{ $this.hide 如果!回答。是:可见{ answer.show.addClassclickable }否则{ 回答:隐藏; } } //额外::使按钮和答案在单击时切换 $body.onclick、.clickable、函数{ $this.hide; 如果!回答。是:可见{ $.button.show; } } } .按钮{ 显示:内联块; 填充:10px; 背景:粉蓝; } 文本Lorem ipsum door sit amet,Concertetur adipising elit。多洛雷姆,阿斯佩里奥雷斯。 ABC需要什么吗? [我的想法] ABC需要大量DEF,如果采取措施,也会对ABC有所帮助 慢速地此外,ABC需要大量睡眠。 文本Lorem ipsum door sit amet,Concertetur adipising elit。多洛雷姆,阿斯佩里奥雷斯。 作用${ $hint=$'hint'; $question=$'。question'; $answer=$'。answer'; $hint.clickfunction{ $answer.htmlYes!; }; }jQuery; .问题{ 宽度:200px; 高度:50px; 背景:浅蓝色; } .答复{ 显示:块; } JS-Bin 我的剧本性感吗?

暗示
希望这对你有帮助。。。。 我将html、css和js添加在一起。如果你想,你可以使用外部css和js。我想这就是你所期望的。如果你尝试使用引导,这将非常容易

    <html>
<head>
<title></title>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<style type="text/css">
body{
  font-family: monospace;;
}

 .answer{
   display: none;

 }

</style>
<body>
<h4>text text text</h4>
<h4>Does ABC need anything</h4>
<button class="clickme">my thoughts</button>

<div>
  <span class="answer">ABC needs a a lot of DEF, and it will help ABC too if things are taken
   slowly.  Additionally, ABC needs a lot of sleep.</span>
   <span><h4>text text text text</h4></span>
<div>


<script type="text/javascript">
 $(document).ready(function(){
    $(".clickme").click(function(){
      $(".answer").fadeIn(1000);
      $(".clickme").hide();
    });
 });
</script>

</body>
</html>


请展示你的尝试;当你还没有尝试过我们知道的任何东西时,没有多少人愿意从头开始为你编写解决方案。你可以用css绝对定位[我的想法]相对于问题。@Daedalus,我在问题中添加了我发现的最好的例子。@Ray请包括你的实现,并描述为什么它不适合你。@Felipe,我是否可以缩小[我的想法]占用的空间,而不仅仅是隐藏它?隐藏是正确的,会弄乱它,但没有获得.next.show以拾取下一个元素,该元素的可见性设置为隐藏。但如果我能让它工作的话,你所列出的正是我想要做的。不过,下一步是什么呢?@Ray我不小心把它删除了;现在看。我还添加了一个代码片段。这看起来不错,只是给了其他答案他们的尊重,谢谢GothdoI。我不知道为什么我不能让它作为一个页面运行。请你帮忙,看看我在问题中的副本,不知道该把它放在哪里。我正在尝试下一页的多个副本。难道你不需要一些特殊的东西才能在点击的按钮/链接旁边得到答案吗?你可以将类名添加到你想要产生效果的元素中。我希望这会有帮助。将class按钮添加到button div[my Thinks]等中。根据@Gothdo答案,您更喜欢下一个吗?如果您想将元素添加到部分,您可以添加兄弟元素或HTML元素,然后获得兄弟元素,而不是特定元素。如果你以类为目标,你会得到特定的元素,比如你的目标按钮。若将元素添加到button旁边,则next可能不是您的目标元素。如果您知道DOM的外观,并且知道它将保持这种状态,那么使用next是很好的。它还有其他好处。基本上,当您使用类时,您的目标是元素,而不是遍历DOMthat@Ray添加了一点额外内容,以显示如何切换答案,以防您想知道如何切换答案。点击按钮和答案,他们就会出现和消失。我想@Gothdo已经知道了。我不明白为什么最后一个文本最初没有显示,按钮被点击了,可以吗?我喜欢你的淡入淡出,非常好。请注意,我需要一系列的这些进入页面,我正在研究如何使用@Gothdo显示的.next进行淡入淡出。