删除带有图像的表中的空格
remove whitespace in table with image
我有这样的html。
<td id="foo">
<img src="foo.png" /> <img src="foo.png" /> <img src="foo.png" />
</td>
上面的 HTML 包含空格,也包含
,
我想使用 jQuery 删除它。
怎么做?
已经尝试使用此脚本但不起作用。
$('#foo').text().replace(/ /g,'');
我认为你需要使用content(),然后过滤掉所有的文本节点,这是一个普通的空间
var nodes = $("#foo").contents().filter(function() {
return this.nodeType == 3 && /^('s| )*$/.test(this.nodeValue);
}).remove();
//console.log($("#foo").html());
也许是这样的东西? 如果您只有图像,那么您可以删除&& this.data == " "
部分
我已经编辑了它寻找空格, 现在,jsfiddle 测试:http://jsfiddle.net/Rurn2/
你试过这个吗:$('#foo').html($('#foo').html().replace(/ /g,''));
? 代码将根据元素中的文本返回一个无空格的字符串。但是,如果要覆盖元素的文本,则必须在大括号之间输入新字符串。
最安全的方法是找到所有文本节点,并将其 nodeValue 与您正在寻找的内容进行比较,并删除仅包含空格的节点。 直接在内部HTML上进行操作充满了困难,因为您必须确保不会弄乱实际标签中的内容(例如应该存在的空格)。 在文本节点上操作仅使用浏览器来确保您的安全。 您可以像这样找到与您的条件匹配的所有文本节点:
$("#foo").contents().filter(function() {
if (this.nodeType == 3) {
return(this.nodeValue.replace(/'s| /g, "") == "");
}
return(false);
}).remove();
你可以在这里看到它的工作:http://jsfiddle.net/jfriend00/RNTbT/
仅供参考,此版本甚至可以处理空格和
组合的文本节点。 它的工作原理是删除所有空格和
,然后查看是否还剩下任何东西。 如果不是,则它是一个仅空格的文本节点,因此应将其删除。
试试这个:
var html = '>' + $('#foo').html() + '<';
html = html.replace(/ /g, '').replace(/>'s+</gm, '><');
$('#foo').html(html.substring(1, html.length-1));
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 我如何找到一个句子中的所有空格并替换忽略它们
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Regex代码只允许一个空格
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 在图像之前添加空格,javascript
- 如何在两个连续的图像之间插入黑色空格
- 删除带有图像的表中的空格
- 如何使用Meteor提供文件名中有空格的静态图像
- 当网址包含空格时,角度ng样式的背景图像
- 隐藏/显示图像不会显示,即使中间有空格