使用Javascript:
function Add(){
var mydiv = document.getElementById("mydiv");
var images = mydiv.getElementsByTagName("img");
var dydiv = document.createElement("div");
for (var i = 0; i < images.length; i++) {
var elem = document.createElement("img");
elem.setAttribute("src", images[i].src);
elem.setAttribute("height", "100%");
elem.setAttribute("width", "100%");
dydiv.appendChild(elem);
}
}
HTML
<input type="button" onclick="Add()" value="Add"/>
<div id="mydiv">
<asp:Repeater id="rpt" runat="server">
<itemtemplate>
<div >
<img src='<%#Eval("img")%>' alt="No Image" />
</div>
</temtemplate>
</asp:Repeater>
</div>
这里我在Images数组对象中获取重复值。由于有4张图片,我得到8张图片。(顺便说一句我不明白为什么我会得到重复:-()现在我想要删除重复项而不进行排序.plz帮助我......
答案 0 :(得分:1)
希望这个逻辑从数组中删除重复可能会有所帮助。我不是说复制它并粘贴它。我只想分享逻辑,其余的我认为你可以弄明白。
var items = ["milk","bottle","mobile","cups","milk","screen","table", "toothpaste"];
var filteredItems= [];
$.each(items, function(i, element){
if($.inArray(element, filteredItems) === -1) filteredItems.push(element);
});
数组:filteredItems
将包含唯一值而不对原始数组进行排序。
希望能为您服务。
答案 1 :(得分:0)
这可能是因为当您将图像附加到文档时,图像HTMLCollection(图像)的大小会增加。
如果我var images = document.getElementsByTagName('img');
,我会得到一个包含我查找过的所有元素的HTMLCollection。
如果我那么去做:
var newImage = document.createElement('img');
document.getElementsByTagName('body')[0].appendChild(newImage);
HTML集合现在也包含新图像。
您可能要尝试完成的是更改已存在的图像的高度,宽度和宽度。在这种情况下,您不必创建新元素然后追加它,您可以循环遍历HTMLCollection并更改HTMLCollection中元素的高度,宽度和src。