Dan*_*der 1 html javascript jquery
我正在发布一个JSP应用程序,它有一个带有动态生成数据的表头(我认为它叫做Jasper Reports?),我无法访问输出的任何模板文件.我用一些JQuery foo让事情看起来很不错.
但我仍然有一个问题,在标题td> spans中的某些span标签中似乎有空格:
<td><span> My Heading</span></td>
Run Code Online (Sandbox Code Playgroud)
请注意单词"我的"之前的空白区域.
我找到了这个漂亮的代码来修剪空白区域,但问题是它需要占用所有空白区域.
var pane = $('span');
pane.val($.trim(pane.val()).replace(/\s*[\r\n]+\s*/g, '\n')
.replace(/(<[^\/][^>]*>)\s*/g, '$1')
.replace(/\s*(<\/[^>]+>)/g, '$1'));
Run Code Online (Sandbox Code Playgroud)
所以现在使用这段代码,它最终成为:
<td><span>MyHeading</span></td>
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想修改它,所以只删除了第一个空格,但之后没有删除.
试试这个:
.replace(/^\s+/g, "");
Run Code Online (Sandbox Code Playgroud)
这应该修剪字符串开头的任何空格.或者,您可以使用稍微不同的表达式修剪尾随空格.看这里:
http://www.toptip.ca/2010/02/javascript-trim-leading-or-trailing.html
这是一个例子,你可以看看它是如何工作的:http: //jsfiddle.net/CkMPH/
使用.text()得到的字符串值.
var pane = $('span');
pane.html($.trim(pane.text()));
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/gaboesquivel/cHevR/
编辑: 上面的代码将无法正常工作,因为它覆盖了文本,如果文档中有超过1个跨度
您需要迭代跨度数组
//array of all the spans that are children of a td element
var spansArray = $('td > span');
//iterate the array
spansArray.each(function() {
var $this = $(this);
$this.html($.trim($this.text()));
});?
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/gaboesquivel/cHevR/2/
| 归档时间: |
|
| 查看次数: |
8537 次 |
| 最近记录: |