2013-09-16 101 views
1

我有一个html文档,它将创建excel报告。 这里是的jsfiddle品尝HTML链接:更改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); 

它删除多余的线条,
但它改变了所有的时间段要像第一个一样。

会提供任何帮助。 谢谢, 奥马尔

回答

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(' - '); 
2
$(div).find("td.date_range").each(function() { 
    var replaced = $(this).html().replace(/<br\s?\/?>/, " - "); 
    $(this).html(replaced); 
}); 
1

FROMTIME是整个cel的集合ls,但你只调用一次replace()。我怀疑你需要迭代该集合,并分别为每个集合执行replace()调用。