在附加到DOM之前操作html
manipulate html before append to DOM
$(document).ready(function(){
var x = '<div><span></span><div id="container"><span>one</span><span class="target"></span></div></div>';
console.log($(x).find('#container').get(0));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我可以得到容器块,但如何删除.target span
?
如果class
与.target
匹配,是否要删除整个元素?试试这个:
$(document).ready(function(){
var x = $('<div><span></span><div id="container"><span>one</span><span class="target"></span></div></div>');
x.find('.target').get(0).remove();
console.log(x.html());
});
这是一把小提琴。
编辑
由于x.html()
去掉了根元素(即<div></div>
),如果您想获得完整的HTML字符串,下面是解决方案。
$(document).ready(function(){
var x = $('<div><span></span><div id="container"><span>one</span><span class="target"></span></div></div>');
x.find('.target').get(0).remove();
x = x.wrap('<div>').parent().html();
console.log(x);
});
更新的小提琴。
编辑2
在有多个.target
的情况下,例如说以下字符串:
<div><span></span><div id="container"><span>one</span><span class="target"></span><span class="target"></span><i class="target"></i></div></div>
您可以考虑删除get(0)
。
$(document).ready(function(){
var x = $('<div><span></span><div id="container"><span>one</span><span class="target"></span><span class="target"></span><i class="target"></i></div></div>');
x.find('.target').remove();
x = x.wrap('<div>').parent().html();
console.log(x);
});
再次更新小提琴。
尝试以下操作:
$(x).find(".target").remove();
你可以试试这个
$(x).fund("span.target");
请参阅下文。
FYI--目标类的元素内部没有跨度。。。所以做".目标跨度"有点没有意义
var x = '<div><span></span><div id="container"><span>one</span><span class="target"></span></div></div>';
var elem = $(x).find("#container").parent();
elem.find('.target').remove();
尝试:
var x = '<div><span></span><div id="container"><span>one</span><span class="target"></span></div></div>';
var elem = $(x).find("#container").parent();
elem.find('.target').remove();
var div = $('<div>').append(elem).html();
console.log(div);
http://jsfiddle.net/8dh3bze7/
这应该有效:
$(document).ready(function() {
var x = '<div><span></span><div id="container"><span>one</span><span id="target">ssss</span></div></div>';
var y = $(x).find("#target").remove().text();
//$(x).find(".target").remove();
$('#new').append( "<p>Test</p>" + y);
});
相关文章:
- 在不更改 HTML 的情况下操作 HTML 字符串的内容
- 如何通过查找函数及其 ID 访问和操作 HTML 表
- 使用jquery操作html的部分内容
- 如何使用 JavaScript 操作 html 按钮元素的“onclick”事件
- 如何使用body onload事件操作HTML音频标记和JavaScript函数
- 无法在 pjax 请求上使用 jQuery 操作 HTML 元素
- 使用 javascript 操作 html 页面选择
- 如果我想在没有jQuery的情况下操作HTML / CSS,我应该应用什么方法
- 使用 jQuery 在变量中操作 HTML
- 按.js文件操作 html 页面
- 使用 Jquery 操作 html 字符串(在 Angular 应用程序中用于所见即所得编辑器)
- Java如何使用动态生成的名称操作html文本元素
- 在iframe的src内部的视图中操作html元素
- 通过Javascript操作HTML控件时的良好做法
- 使用java javascript脚本API操作HTML节点
- 如何使用JavaScript操作HTML元素
- 在附加到DOM之前操作html
- 使用JavaScript函数操作HTML
- 在firefox中操作html输入类型文件名
- 如何用javascript撤销操作HTML DOM元素