2017-10-09 47 views
1

如何制作,通过在“div”中按“a”开启窗口应该在“div”之间。位置由id js?

按下“id 2”,窗口显示在“id 1”和“id 3”之间。按下“id 3”,窗口显示在“id 2”和“id 4”之间。

$('#add').hide(); 
 
    
 
$('#open_add').click(function() { 
 
     $('#add').show(); 
 
     $('#3').hide(); 
 
    }); 
 
     
 
$('#close_add').click(function() { 
 
     $('#add').hide();  
 
     $('#3').show(); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
<div id="add"> 
 
<a href="#" id="close_add">Close add</a> 
 
</div> 
 

 
<div id="1"> 
 
    <p>First</p> 
 
</div> 
 

 
<div id="2"> 
 
    <p>Second</p> 
 
</div> 
 

 
<div id="3"> 
 
    <a href="#" id="open_add">Open add</a> 
 
</div> 
 

 
<div id="4"> 
 
    <p>Fourth</p> 
 
</div> 
 

 
<div id="5"> 
 
    <p>Fifth</p> 
 
</div>

+0

的可能的复制[如何移动在jQuery的HTML元素?( https://stackoverflow.com/questions/4428312/how-do-i-move-an-html-element-in-jquery) –

回答

1

尝试插入DIV喜欢的是这个例子:

$(document).ready(function(){ 
 
$('div p').click(function() { 
 
$('#add').remove().insertAfter($(this).parent()).show(); 
 
}) 
 
}) 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="add" style="display:none;"> 
 
<a href="#" id="close_add">Close add</a> 
 
</div> 
 
<div id="open_add" style="display:none;"> 
 
<a href="#" id="open_add">Open add</a> 
 
</div> 
 

 
<div id="1"> 
 
    <p>First</p> 
 
</div> 
 

 
<div id="2"> 
 
    <p>Second</p> 
 
</div> 
 

 
<div id="3"> 
 
    <p>Third</p> 
 
</div> 
 

 
<div id="4"> 
 
    <p>Fourth</p> 
 
</div> 
 

 
<div id="5"> 
 
    <p>Fifth</p> 
 
</div>

+0

但是,如何可以使选择的元素隐藏?例如:点击“第四次”出现“关闭添加”和“第四次”消失等。 –

+1

这很简单。只要隐藏一个元素并标记为隐藏。在下一次点击时显示所有隐藏的元素,然后标记。尝试一下,将此代码添加到'click'功能 '$('。hiddenItem')。removeClass('hiddenItem')。show(); $(this).addClass('hiddenItem')。hide();' –

+0

我可以问最后一个问题吗?这里有一个例子jsfiddle.net/o3p51bct/2/。如何隐藏div,以便隐藏它的所有内容。我是否正确编写了传输id的Ajax请求,在控制台中由于某种原因未被传输。 –