Javascript 以角度从文本中获取图像
我有一些HTML代码,里面有文本和图像(我不知道这个文本有多长,有多少图像)。有没有办法使用AngularJS拍摄所有图像并将其放入1个div元素中 我拥有的代码:Javascript 以角度从文本中获取图像,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我有一些HTML代码,里面有文本和图像(我不知道这个文本有多长,有多少图像)。有没有办法使用AngularJS拍摄所有图像并将其放入1个div元素中 我拥有的代码: <p>aaaaaaaaa<img>aaaaaaa<img>a<img>aaaa...</p> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
<p>aaaaaaaaa<img>aaaaaaa<img>a<img>aaaa...</p>
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
我想要的代码:
<p>aaaaaaaaaaaaaaaaaaaaa</p><div><img><img><img></div>
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
有什么方法可以做到这一点吗?我想,你可以不带角度地做到这一点。您可以将HTML片段转换为jQuery对象,如下所示:
var $jqueryObject = $("<your HTML code");
最后,您可以迭代所有这些img
元素,并对它们进行处理:
$.each(allImages, function(index, image) {
// Do your magic
}
您确实不需要使用该库进行简单的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);
请记住,我的目标是提供的代码,因此可能会在p
上抛出一个ID
,并确保在加载文档后调用它
在Chrome、FireFox和IE上进行了测试。但在纯角度上有什么方法可以做到这一点吗?如果没有JQuery?您可以使用
angular.element
来包装一段HTML代码,而不是使用JQuery的“美元封装”$()
。HTML的来源是什么?它是如何插入的?在插入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);