1

我有一个用于创建 excel 报告的 html 文档。这是 jsfiddle 中示例 html 的链接:

http://jsfiddle.net/UrM7k/

我希望编辑 html 内容,以便每个时间段不是两行,而是一行,
用“ - ”分隔。这是我尝试过的一些代码:

var fromTime = $(div).find("td.date_range");
    //replace new line between dates with "-" sepeartor
    var replaced = fromTime.html().replace(/<br\s?\/?>/, " - ");
    //fromTime.html(replaced);

它确实删除了额外的行,
但它将所有句点更改为与第一个相同。

会感谢任何帮助。谢谢, 奥马尔

4

3 回答 3

3

你很近。您可以使用each()迭代和this引用当前项目:

http://jsfiddle.net/4v3sE/

$("td.date_range").each(function() {
    var $this = $(this);
    $this.html($this.html().replace(/<br\s?\/?>/, " - "));
});

但我认为这个解决方案更干净:

http://jsfiddle.net/wfYnH/

$("td.date_range br").replaceWith(' - ');
于 2013-09-16T15:19:43.833 回答
2
$(div).find("td.date_range").each(function() {
    var replaced = $(this).html().replace(/<br\s?\/?>/, " - ");
    $(this).html(replaced);
});
于 2013-09-16T15:20:01.457 回答
1

fromTime 是整个单元格集,但您只在其上调用一次 replace() 。我怀疑您将需要遍历该集合,并分别为每个集合执行 replace() 调用。

于 2013-09-16T15:20:02.190 回答