Is it possible to remove ' ' using JQuery..?
我在一行中有两个按钮,它们显示在两个td中,并且在ie中没有正确排列,我怀疑td中的隐藏空格(&;nbsp)可能在输入之后或输入按钮之前,不幸的是我无法访问自动生成的html代码。唯一的方法是使用jquery控制我有一个类似这样的jquery。
1 | $("td:contains(' ')").css("display","none"); |
这是一个正确的方法来消除TD中的这一点吗?
不过,我在jquery方面的知识并不多……
谢谢!
阿基尔·保罗
不,你可以沿着这条线做一些事情:
1 2 3 | $("td").html(function (i, html) { return html.replace(/ /g, ''); }); |
nbsp不是元素,因此不能隐藏它。
您可以做的是重写包含以下内容的元素…这样地:
1 | $('#container').html( $('#container').html().split(' ').join('') ); |
另外,使用jquery.contains检测sp的位置,并设置它的父元素一个字体大小为0或display none的类也可以做到这一点。
注意,如果您选择重写HTML以删除不需要的nbsp,则之前附加的所有事件都将被删除。
如果我们采用问题标题("是否可以使用jquery删除' '………",则不回答OP的特定方案)用一般的方式回答这个问题(我认为这是有用的),那么任何使用
更好的方法是替换元素中单个文本节点的
1 2 3 4 5 | Here is a link <p> Here is a paragraph with another link inside: another link </p> And some final text |
。
我们可以删除所有
1 2 3 4 5 | $('.container, .container *').contents().each(function() { if (this.nodeType === 3) { // text node this.textContent = this.textContent.replace(/\u00A0/g, ''); } }); |
使用此:
1 2 3 4 | var td = $("td:contains(' ')"); var html = td.html(); html = html.replace(" ",""); td.html(html); |
号
试试这个
1 | $('#div').text($('#div').text().replace(/ /g, ' ')); |
。
我一直在努力解决这个问题,最终解决方案非常明显,而不是使用
例子:
1 2 | var text = $(label).text(); text.replace(/ /gi,''); |
。