首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用javascript从子元素创建父元素

使用javascript从子元素创建父元素
EN

Stack Overflow用户
提问于 2017-11-18 17:33:54
回答 2查看 38关注 0票数 1

假设我有一个ids列表[1,2,4,5,6]

我正在尝试为每组ids创建一个父元素,比如div

目前its:

代码语言:javascript
复制
<span id="data-inject">
   <br> <br>
    <span id=1>Barack</span>
    <br> <br>
    <span id=2>Obama</span>
    <span id=3>xx</span>
<span>

我希望它是:

代码语言:javascript
复制
   <span id="data-inject">
   <br> <br>
    <div id=test>
        <span id=1>Barack</span>
        <br> <br>
        <span id=2>Obama</span>
    </div>
    <span id=3>xx</span>
    </span>

有没有办法用java script实现同样的功能呢?

代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<span id="data-inject"><br> <br> <span id="0">xx</span>&nbsp;<span id="1">Barack</span>&nbsp;<span id="2">Obama</span>&nbsp;<span id="3">xx</span>&nbsp;<span id="4">Barack</span>&nbsp;<span id="5">Obama</span>&nbsp;<span id="6">Barack</span>&nbsp;<span id="7">Obama</span><br> <br> <span id="8">sdsds</span>&nbsp;<span id="9">Barack</span>&nbsp;<span id="10">Obama</span></span>

EN

回答 2

Stack Overflow用户

发布于 2017-11-18 17:36:42

试试这个:

代码语言:javascript
复制
$('#data-inject').find('span').slice(0,2).wrapAll('<div id="test"></div>').after(' ');

这是一个Jsfiddle:https://jsfiddle.net/8L1mutxr/

.after(‘')

在元素后添加空格。但是顺便说一句,你的HTML很脏。

票数 0
EN

Stack Overflow用户

发布于 2017-11-18 17:58:58

使用jquery,您可以轻松地为每个数组项创建一个新元素,然后遍历内部数组以搜索并附加到新创建的项,

示例应该是自动解释的:

代码语言:javascript
复制
var arr = [[1,2],[4,5,6], [7,8,9,10]]

arr.forEach((x, i) => {
  // we create a parent div for each item
  var parent = $('<div class="parent'+ i + '"></div>')
  // we append it 
  $('#data-inject').append(parent)
  
  // we loop through inner arrays and append them to newly created 'parent'
  x.forEach(z => {
    parent.append( $('#' + z) )
  })

})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<span id="data-inject">
  <span id="0">xx</span>&nbsp;
  <span id="1">Barack</span>&nbsp;
  <span id="2">Obama</span>&nbsp;
  <span id="3">xx</span>&nbsp;
  <span id="4">Barack</span>&nbsp;
  <span id="5">Obama</span>&nbsp;
  <span id="6">Barack</span>&nbsp;
  <span id="7">Obama</span>
  <span id="8">sdsds</span>&nbsp;
  <span id="9">Barack</span>&nbsp;
  <span id="10">Obama</span>
</span>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47364534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档