2013-02-12 60 views
1

下面的HTML在相同的DATE類中顯示日期和時間。這是不好的,因爲我想獨立地塑造他們。但我不能這樣,所以我認爲jquery可以注入來分裂它。使用jquery將HTML附加到節點

<div class="container"> 
    <a class="title" href="http://www.example.com">Headlines Goes Here</a> 
    <div class="date">Jan 29, 2013 12:05:00 PM EST</div> 
    <div class="post"> 
     <p>Content Goes Here</p> 
    </div> 
</div> 

我與人的幫助,希望這能與jQuery的日期類中附加來解決這樣的輸出是這樣的:

<div class="container"> 
    <a class="title" href="http://www.example.com">Headlines Goes Here</a> 
    <div class="date">Jan 29, 2013</div><div class="time">12:05:00 PM EST</div> 
    <div class="post"> 
     <p>Content Goes Here</p> 
    </div> 
</div> 

這是我JQUERY,到目前爲止,這是我風格爲紅色,所以我可以看到物理變化,有人可以幫助解決這個問題?我的jquery顯然是不正確的。

$(window).load(function(){ 
     if ($(".date:contains(', 2013')").length) 
      this.parentNode.append(this).html("</div><div class=time style=color:red>"); 
}); 

這是我的小提琴:http://jsfiddle.net/3ZWkQ/

+0

'this.parentNode.append(本)的.html(」

「);'這似乎不是正確的...... – jeroenvisser101 2013-02-12 18:58:51

回答

1

理想情況下,你會想這樣做的服務器端,以避免不得不改變實際的文件結構。

但是,如果這是不可能的,你可以做到這一點通過以下方式:

$(function() { 
    $(".date").after(function() { 
    var val = $(this).text(); 
    var justDate = val.substring(0,12); 
    $(this).text(justDate); 
    var parsedTime = val.substring(12); 
    return "<div class=time >" + parsedTime + "</div>"; 
    }); 
}); 

注意:在這裏,我只是用子的分裂,但顯然不會是正確執行,你最好解析爲日期和格式化使用jQuery插件,樣機等

這裏Parts的小提琴: http://jsfiddle.net/MS3W6/

+0

即完美。這解決了UI問題。謝謝。 – Evan 2013-02-12 19:48:06

+0

很高興聽到:) – 2013-02-12 19:48:45

0

更改這一部分:

this.parentNode.append(this).html("</div><div class=time style=color:red>") 

要:

$(this.parentNode).append("<div class=time style=color:red></div>") 
+0

剛剛嘗試過,但沒有返回預期結果。 – Evan 2013-02-12 19:08:51