这是我下面的代码:
<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;
})();