可以使用以下代码来实现用DIV+JS来模拟 select option 的效果:
HTML代码:
<div class="select-box">
  <div class="select-head">
    <span class="selected-option">请选择</span>
    <i class="arrow"></i>
  </div>
  <ul class="option-list">
    <li data-value="1">111</li>
    <li data-value="2">222</li>
    <li data-value="3">333</li>
    <li data-value="4">444</li>
  </ul>
</div>
CSS代码:
.select-box {
  position: relative;
  width: 120px;
  height: 30px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  cursor: pointer;
}
.select-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 10px;
  height: 100%;
}
.selected-option {
  font-size: 14px;
}
.arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: #666 transparent transparent transparent;
}
.option-list {
  position: absolute;
  top: 30px;
  left: 0;
  width: 100%;
  max-height: 120px;
  overflow-y: auto;
  border: 1px solid #ccc;
  border-top: none;
  border-radius: 0 0 4px 4px;
  background-color: #fff;
  z-index: 1;
}
.option-list li {
  padding: 5px 10px;
  font-size: 14px;
  cursor: pointer;
}
.option-list li:hover {
  background-color: #f5f5f5;
}
JS代码:
var selectBox = document.querySelector('.select-box');
var selectedOption = selectBox.querySelector('.selected-option');
var optionList = selectBox.querySelector('.option-list');
var options = optionList.querySelectorAll('li');
selectBox.addEventListener('click', function() {
  optionList.classList.toggle('show');
});
options.forEach(function(option) {
  option.addEventListener('click', function() {
    var value = this.getAttribute('data-value');
    selectedOption.textContent = this.textContent;
    optionList.classList.remove('show');
  });
});
这段代码会生成一个类似于 select option 的下拉框,点击下拉框头部可以展开选项列表,点击选项可以选择对应的值并收起选项列表。
 
                 
             
             微信扫码登录或注册
 微信扫码登录或注册 
                                
                             
             
			 
       