Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以角度从文本中获取图像_Javascript_Html_Css_Angularjs - Fatal编程技术网

Javascript 以角度从文本中获取图像

Javascript 以角度从文本中获取图像,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我有一些HTML代码,里面有文本和图像(我不知道这个文本有多长,有多少图像)。有没有办法使用AngularJS拍摄所有图像并将其放入1个div元素中 我拥有的代码: <p>aaaaaaaaa<img>aaaaaaa<img>a<img>aaaa...</p> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

我有一些HTML代码,里面有文本和图像(我不知道这个文本有多长,有多少图像)。有没有办法使用AngularJS拍摄所有图像并将其放入1个div元素中

我拥有的代码:

<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);