javascript - 如何把很多 sibling 放到一个div中

标签 javascript jquery html css dom

我有六个这样的 div:

<div style="display:none">div1</div>
<div style="display:none">div2</div>
<div style="display:none">div3</div>
<div style="display:none">div4</div>
<div style="display:none">div5</div>
<div style="display:none">div6</div>

我想将前 4 个 div 放入一个隐藏的 div,然后将接下来的 2 个 div 放入另一个隐藏的 div,从而产生这样的 DOM:

<div class="glob" style="display:none">
    <div style="display:none">div1</div>
    <div style="display:none">div2</div>
    <div style="display:none">div3</div>
    <div style="display:none">div4</div>
</div>

<div class="glob" style="display:none">
    <div style="display:none">div5</div>
    <div style="display:none">div6</div>
</div>

完成此操作后,我想添加一个具有 2 个值的组合,当您单击第一个选项时,它会显示第一个“全局”div,而当您单击第二个选项时,它会显示第二个“全局”div .我不知道如何做第一件事。

最佳答案

这应该可以解决问题。

关键是使用.slice()

var divs = $("div");
var count = 0;
for (var i = 0; i < divs.length; i += 4) {
  divs.slice(i, i + 4).css("display", "block").wrapAll("<div class=\"glob\" style=\"display:none\">");
  $('select[name="show"]').append("<option value=\"" + count + "\">glob " + (count + 1) + "</option>")
  count++;
}
$('select[name="show"]').change(function() {
  $('.glob').hide().eq($(this).find("option:selected").val()).show();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="display:none">div1</div>
<div style="display:none">div2</div>
<div style="display:none">div3</div>
<div style="display:none">div4</div>
<div style="display:none">div5</div>
<div style="display:none">div6</div>

<select name="show">
<option>select what glob you want to see</option
</select>

关于javascript - 如何把很多 sibling 放到一个div中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44068684/

相关文章:

javascript - MongoDB 的嵌套查询/选择

jquery - 将图像垂直和水平对齐到中心

html - 与标题菜单重叠的透明 Logo

html - CSS-删除 hr 标签空间不起作用

javascript - 当按下 Enter 键时,文本区域不会停止换行

javascript - Photoshop Javascript 编码错误

javascript - 将 python 回调函数转换为 javascript

jquery - 如果存在不同的 CSS 属性(颜色),则添加 CSS 属性(顶部)

javascript - DOM 操作甚至处理程序

javascript - 阻止在 Enter 上提交,但允许在 TextArea 中输入换行符