移动数据一个li& ul标记从一个div类标记到另一个div id标记,没有任何li& ul标签只是数据

时间:2013-08-27 09:21:41

标签: javascript jquery html css

这是我的代码:

<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

预期产出&amp;代码

标题

部门:编辑

  • 姓名: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&amp; “cp_dept”的ul标签,即Dept:从div class =“data”编辑数据&amp;不要将数据转换为div id =“title”标签而不用li&amp; ul标签,即只有预期输出和预期输出中显示的数据。代码也会对页面加载产生直接影响。

9 个答案:

答案 0 :(得分:1)

Demo

试试这段代码..

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);

答案 1 :(得分:0)

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

答案 2 :(得分:0)

使用insertAfter jQuery函数:(删除并追加)

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

答案 3 :(得分:0)

尝试

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

演示:Fiddle

答案 4 :(得分:0)

查看此仅限javascript的答案

<强> JS

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

Working 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;
  })();

答案 5 :(得分:0)

试试这个

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

答案 6 :(得分:0)

这是代码

$(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);
});

DEMO

但您可能正在寻找更多,请对其发表评论

答案 7 :(得分:0)

您可以创建一个新元素来附加“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);

答案 8 :(得分:0)

$("li#cp_dept").each(function(){

var div = $("<div id='"+$(this).attr("id")+"'/>");

div.html($(this).html());

div.appendTo("div#title");

$(this).remove();

});