将一个 li & ul 标签的数据从一个 div 类标签转移到另一个 div id 标签,没有任何 li & ul 标签,只有数据



这是我下面的代码:

<div id="title">
      <span><b>Title</b></span>
</div>
<div class="data">
    <ul>
            <li id="cp_name" class=""><span>Name:</span> XXXX</li>
            <li id="cp_dept" class=""><span>Dept:</span> Editing</li>
            <li id="cp_role" class=""><span>Role:</span> YYYY</li>
    </ul>
</div>

原始输出

标题

  • 姓名:XXXX
  • 部门:编辑
  • 角色:YYYY

预期输出&代码

标题

部门:编辑

  • 姓名:XXXX
  • 角色:YYYY

    <div id="title">
       <span><b>Title</b></span>
          <div id="cp_dept">
             <span>Dept:</span> Editing
          </div>
    </div>
    <div class="data">
     <ul>
         <li id="cp_name" class=""><span>Name:</span> XXXX</li>
         <li id="cp_role" class=""><span>Role:</span> YYYY</li>
     </ul>
    </div>
    

我想提取或只是删除li&ul"cp_dept"标签,即部门:编辑div class="data"&不想在没有li&ul标签,即仅如预期输出&对页面加载也立即生效的代码。

演示

请尝试此代码。。

var li=$('.data>ul>li').eq(1).remove();
var id=li.attr('id');
var html=li.html();
var div1=$('<div></div>').attr('id',id).append(html);
$('#title').append(div1);
var dept = $(".data ul li#cp_dept").html();
dept = "<div id='cp_dept'>" + dept + "</div>";
$("#title").append(dept);
$(".data ul li#cp_dept").remove();

使用insertAfter jQuery函数:(移除和附加)

$(function() {
    $('#cp_dept').insertAfter('#title span');
});

尝试

$('#cp_dept').detach().wrapInner('<div />').contents().unwrap().appendTo('#title');

演示:Fiddle

试试这个

var htm = $("#cp_dept").text();
$("#data ul #cp_dept").remove();
$("#title").append('<div id="cp_dept">'+htm+'</div>');

您可以创建一个新元素来附加"cp_dept"目标,然后将新元素添加到"#title"中。

var title = document.getElementById('title');
var dept = document.getElementById('cp_dept');
var newDept = document.createElement('div');
newDept.innerHTML = dept.innerHTML;
// remove the old cp_dept
dept.parentNode.removeChild(dept);
title.appendChild(newDept);
$("li#cp_dept").each(function(){
var div = $("<div id='"+$(this).attr("id")+"'/>");
div.html($(this).html());
div.appendTo("div#title");
$(this).remove();
});

这是代码

$(document).ready(function() {
    var getli = $('.data #cp_dept');
    $('.data #cp_dept').remove();    
    $creDiv = $('<div />').attr('id',getli.attr('id'))
                          .html(getli.html());
    $("#title").append($creDiv);
});

演示

但你可能正在寻找更多,请评论它

查看此javascript唯一答案

JS

(function() {
     var dpt = document.getElementById('cp_dept');
     dpt.outerHTML=""
     var tit = document.getElementById('title');
     tit.innerHTML = tit.innerHTML +"<br>"+dpt.textContent;
  })();

工作Fiddle

刚刚在Javascript中添加或编辑了一行。我没有删除或编辑cp_dept,而是将CSS分配给display:none。它执行相同的功能,但这样我就不会删除cp_dept标记的内容,因此HTML标记保持不变。

(function() {
     var dpt = document.getElementById('cp_dept');
    // dpt.outerHTML=""
     dpt.style.display="none";
     var tit = document.getElementById('title');
     tit.innerHTML = tit.innerHTML +"<br>"+dpt.textContent;
  })();

最新更新