php去除+ ,是否可以使用JQuery删除’& nbsp’..?

我在一行中有两个按钮,它们显示在两个td中,并且在ie中没有正确排列,我怀疑td中的隐藏空格(&nbsp)可能在输入之后或输入按钮之前,不幸的是我无法访问自动生成的html代码。唯一的方法是使用jquery控制我有一个类似这样的jquery。

$("td:contains(' ')").css("display","none");

这是一个正确的方法来消除TD中的这一点吗?

不过,我在jquery方面的知识并不多……

谢谢!

阿基尔·保罗

不,你可以沿着这条线做一些事情:

$("td").html(function (i, html) {

return html.replace(/ /g, '');

});

Minitech,感谢您的快速反应,顺便问一下"G"在这行代表什么……替换(/amp;nbsp;/g,");"

@阿基尔保罗:它代表"全球"。如果没有全局标志,则最多只能进行一次替换,而不是全部替换。

jsfiddle jsfiddle.net/akhilpaul/flwab示例

@Akhilpaul:您忘记将jquery添加到jfiddle:jsfiddle.net/minitech/flwab/2:)

哎呀。。你说得对,非常感谢Minitech!!

一般来说,这种方法的唯一缺点(在这个特定的场景中可能是好的)是,任何绑定到旧HTML的构造(如数据和事件处理程序)都将被删除。

nbsp不是元素,因此不能隐藏它。

您可以做的是重写包含以下内容的元素…这样地:

$('#container').html( $('#container').html().split('&nbsp').join('') );

另外,使用jquery.contains检测sp的位置,并设置它的父元素一个字体大小为0或display none的类也可以做到这一点。

注意,如果您选择重写HTML以删除不需要的nbsp,则之前附加的所有事件都将被删除。

如果我们采用问题标题("是否可以使用jquery删除'&nbsp'………",则不回答OP的特定方案)用一般的方式回答这个问题(我认为这是有用的),那么任何使用.html()的回答都有一个根本的缺陷:用这种方式替换HTML也会删除与旧HTML相关联的任何数据和事件处理程序-不可取!它可能适用于OP的特定场景,但我认为以更一般的方式回答问题是有用的…

更好的方法是替换元素中单个文本节点的.textContent。因此,考虑到以下标记:

 Here is a link  

Here is a paragraph with another link inside:   another link  

And some final text     

我们可以删除所有(即unicode \u00A0—请参阅此处的更多信息),如下所示:

$('.container, .container *').contents().each(function() {

if (this.nodeType === 3) { // text node

this.textContent = this.textContent.replace(/\u00A0/g, '');

}

});

$('.container, .container *')选择容器及其内部的所有元素,然后.contents()选择这些元素的所有子元素,包括文本节点。我们遍历这些节点中的每一个,对于我们遇到的每个文本节点(nodeType === 3,我们用一个空字符串替换(\u00A0)。

使用此:

var td = $("td:contains(' ')");

var html = td.html();

html = html.replace(" ","");

td.html(html);

假设只有一个元素要替换,问题是有两个。

试试这个

$('#div').text($('#div').text().replace(/ /g, ' '));

我一直在努力解决这个问题,最终解决方案非常明显,而不是使用.html(),而是使用.text()。

例子:

var text = $(label).text();

text.replace(/ /gi,'');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值