2016-02-27 75 views
0

我有一些HTML代碼,裏面有文字和圖片(我不知道這段文字有多長時間,有多少圖片)。有什麼辦法可以把所有的圖像,並使用AngularJS把它們放入1個div元素?從角度拍攝文字圖片

代碼,我有:

<p>aaaaaaaaaaaaaaaaaaaaa</p><div><img><img><img></div> 

有沒有這樣做的任何方式:我想

<p>aaaaaaaaa<img>aaaaaaa<img>a<img>aaaa...</p> 

碼?

+0

什麼是html的源代碼,它是如何插入的? – charlietfl

回答

0

你可以做到這一點,沒有Angular,我想。盡你所能的就是把你的HTML的一塊成一個jQuery對象,就像這樣:從這個jQuery對象

var $jqueryObject = $("<your HTML code"); 

然後你就可以提取所有的圖像,並將它們保存在一個變量:

var allImages = $jqueryObject.children("img"); 

最後,你可以遍歷所有這些img元素,並做一些與他們:

$.each(allImages, function(index, image) { 
    // Do your magic 
} 
+0

但是在純粹的Angular中有一些方法可以做到這一點?沒有JQuery? – MrKaszu

+1

您可以使用'angular.element'來封裝一段HTML代碼,而不是使用jQuery的「美元封裝」'$(<您的HTML代碼>)'。 – Froodooo

0

你真的不需要使用庫的一個簡單的DOM操作,試試這個:

var p = d.getElementsByTagName('p')[0]; 
var div = d.createElement('div'); 
while(img = p.getElementsByTagName('img')[0]) { 
    div.appendChild(img); 
} 
p.parentNode.insertBefore(div, p.nextSibling); 

請記住我的目標是在提供這樣也許扔在PID,並確保你調用這個曾經的文件已加載代碼。

在Chrome,FireFox和IE上測試。

+0

由於角度摘要循環,在插入dom之前執行此操作效率更高 – charlietfl