javascript - 如何将两个位于不同 div 中的按钮添加到彼此?

标签 javascript jquery html css

如何添加 2 个彼此相邻的按钮?我的问题是它们在 2 个不同的 div 中。我试图将 float 放在 btn-group 中,但是当我这样做时,如果我想看到隐藏的第二个 div 并且动画不一样,下拉菜单不起作用。我该如何解决这个问题?我想添加彼此相邻的“添加”和“查看”按钮。

演示

window.onload = function() {
    document.getElementById('hucontainer').style.display = 'none';
};
$('#divNewNotificationsRole-admin li').on('click', function() {
    $('#role-admin').html($(this).find('a').html());
});

// View dropdown

// If the first dropdown element is selected, hide the second element and the dropdown list
$('#role').click(function(e){
  e.preventDefault(); // Select dropdown element without reloading the page
  var hu=document.getElementById("hucontainer");
  var dropdowns = document.getElementsByClassName("dropdown-menu");
  hu.style.display='none';
  $("#rolecontainer").show("slow", function(){

  });
  dropdowns.style.display='none';
});

$('#relation').click(function(e){
  e.preventDefault();
  var role=document.getElementById("rolecontainer");
  var dropdowns = document.getElementsByClassName("dropdown-menu");
  $("#hucontainer").show("slow", function(){

  });
  role.style.display='none';
  dropdowns.style.display='none';
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div class="container">
    <div align="right" class="dropdown">
        <button class="btn btn-primary dropdown-toggle btn-md" type="button" data-toggle="dropdown"><i class="fa fa-user"></i> Admin
            <span class="caret"></span>
        </button>
        <div class="dropdown-menu">
            <li><a class="dropdown-item" href="#logout" data-toggle="modal">Logout <i class="fa fa-sign-out"></i></a></li>
            <li><a class="dropdown-item" href="#changepass" data-toggle="modal">Change Pass <i class="fa fa-undo"></i></a></li>
        </div>
    </div>
    <div class="btn-group" id="divNewNotificationsRole-admin">
        <button id="role-admin" type="button" class="btn btn-success dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        View</button>
        <div id="myDropdown" class="dropdown-menu">
            <li><a id="role" class="dropdown-item" href="#">First Div</a></li>
            <li><a id="relation" class="dropdown-item" href="#">Second Div</a></li>
        </div>
    </div>
</div>
<br/>

<div id="rolecontainer" class="container">  
    <div class="table">  
        <div align="right">  
            <button type="button" name="add" id="add" data-toggle="modal" data-target="#add_data_Modal" class="btn btn-warning">Add <li class="fa fa-plus"></li></button>  
        </div>  

        <h4><b>First Div</b></h4><br/>
        <div id="role_table">  
            <table id="szerep_data" class="table table-striped table-bordered" cellspacing="0" width="100%">   
                <thead>
                    <tr>  
                        <td align="center" width="65%"><b>Data</b></td>  
                        <td align="center" width="35%"><b>View</b></td>  
                    </tr>  
                </thead>
                <tbody>
                    <tr>
                        <td>Data1</td>
                        <td><button class="btn btn-info">View</button></td>
                    </tr>
                    <tr>
                        <td>Data2</td>
                        <td><button class="btn btn-info">View</button></td>
                    </tr>
                </tbody>
            </table>  
        </div>  
    </div>  
</div>  

<!-- Second dropdown element -->
<div id="hucontainer" class="container">
    <div class="col-sm-7">
        <div align="right">  
            <button type="button" name="add" id="addHu_button" class="btn btn-warning">Add <i class="fa fa-plus"></i></button> 
        </div> 
        <h4><b>Second Div</b></h4>
        <br/>
        <div id="hu_table">
            <table id="order_data" class="table table-striped table-bordered" cellspacing="0" width="100%">
                <thead>
                    <tr>
                        <td align="center"><b>Data</b></td>
                        <td align="center"><b>View</b></td>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Data1</td>
                        <td><button class="btn btn-info">View</button></td>
                    </tr>
                    <tr>
                        <td>Data2</td>
                        <td><button class="btn btn-info">View</button></td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>

最佳答案

你可以添加一些样式来改变按钮的位置:

#add{
  display: inline-block;
  position: absolute;
  top: 33px;
  left: 85px;
}

window.onload = function() {
  document.getElementById('hucontainer').style.display = 'none';
};
$('#divNewNotificationsRole-admin li').on('click', function() {
  $('#role-admin').html($(this).find('a').html());
});

// View dropdown

// If the first dropdown element is selected, hide the second element and the dropdown list
$('#role').click(function(e){
  e.preventDefault(); // Select dropdown element without reloading the page
  var hu=document.getElementById("hucontainer");
  var dropdowns = document.getElementsByClassName("dropdown-menu");
  hu.style.display='none';
  $("#rolecontainer").show("slow", function(){

  });
  dropdowns.style.display='none';
});

$('#relation').click(function(e){
  e.preventDefault();
  var role=document.getElementById("rolecontainer");
  var dropdowns = document.getElementsByClassName("dropdown-menu");
  $("#hucontainer").show("slow", function(){

  });
  role.style.display='none';
  dropdowns.style.display='none';
});
#add{
  display: inline-block;
  position: absolute;
  top: 33px;
  left: 85px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div class="container">
  <div align="right" class="dropdown">
      <button class="btn btn-primary dropdown-toggle btn-md" type="button" data-toggle="dropdown"><i class="fa fa-user"></i> Admin
          <span class="caret"></span>
      </button>
      <div class="dropdown-menu">
          <li><a class="dropdown-item" href="#logout" data-toggle="modal">Logout <i class="fa fa-sign-out"></i></a></li>
          <li><a class="dropdown-item" href="#changepass" data-toggle="modal">Change Pass <i class="fa fa-undo"></i></a></li>
      </div>
  </div>
  <div class="btn-group" id="divNewNotificationsRole-admin">
      <button id="role-admin" type="button" class="btn btn-success dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
      View</button>
      <div id="myDropdown" class="dropdown-menu">
          <li><a id="role" class="dropdown-item" href="#">First Div</a></li>
          <li><a id="relation" class="dropdown-item" href="#">Second Div</a></li>
      </div>
  </div>
</div>
<br/>

<div id="rolecontainer" class="container">  
  <div class="table">  
      <div align="right">  
          <button type="button" name="add" id="add" data-toggle="modal" data-target="#add_data_Modal" class="btn btn-warning">Add <li class="fa fa-plus"></li></button>  
      </div>  

      <h4><b>First Div</b></h4><br/>
      <div id="role_table">  
          <table id="szerep_data" class="table table-striped table-bordered" cellspacing="0" width="100%">   
              <thead>
                  <tr>  
                      <td align="center" width="65%"><b>Data</b></td>  
                      <td align="center" width="35%"><b>View</b></td>  
                  </tr>  
              </thead>
              <tbody>
                  <tr>
                      <td>Data1</td>
                      <td><button class="btn btn-info">View</button></td>
                  </tr>
                  <tr>
                      <td>Data2</td>
                      <td><button class="btn btn-info">View</button></td>
                  </tr>
              </tbody>
          </table>  
      </div>  
  </div>  
</div>  

<!-- Second dropdown element -->
<div id="hucontainer" class="container">
  <div class="col-sm-7">
      <div align="right">  
          <button type="button" name="add" id="addHu_button" class="btn btn-warning">Add <i class="fa fa-plus"></i></button> 
      </div> 
      <h4><b>Second Div</b></h4>
      <br/>
      <div id="hu_table">
          <table id="order_data" class="table table-striped table-bordered" cellspacing="0" width="100%">
              <thead>
                  <tr>
                      <td align="center"><b>Data</b></td>
                      <td align="center"><b>View</b></td>
                  </tr>
              </thead>
              <tbody>
                  <tr>
                      <td>Data1</td>
                      <td><button class="btn btn-info">View</button></td>
                  </tr>
                  <tr>
                      <td>Data2</td>
                      <td><button class="btn btn-info">View</button></td>
                  </tr>
              </tbody>
          </table>
      </div>
  </div>
</div>

关于javascript - 如何将两个位于不同 div 中的按钮添加到彼此?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51337454/

相关文章:

javascript - Webpack babel 转译为 es5 不太有效

浏览器问题中的 jquery + css 动画

javascript - 在 promise 中得到 Express 回复?

php - 在回显中以 Y-M-D 格式回显输入类型中的日期

javascript - 单击时展开和收缩的垂直 div

javascript - 将 ng-click 绑定(bind)到动态数组上的 ng-repeat

javascript - jquery clone 仅向克隆元素添加类

javascript - Contenteditable div 选择标题标签中的文本

javascript - 动态更改 SVG 元素,

jquery - 为封闭的 div 添加单独的点击事件