Сообщение от j0hnik
|
возможно у вас скрипт перед элементами HTML из за этого не работает
или проверьте "div.imgArr > img" есть ли у вас дивы с классом imgArr с прямыми потомками img
|
Спасибо, я просто вместо класса ИД прописал.
Попробовал теми функциями, что вы предложили (не совсем получилос, в коде кстати закомментированный код - это как я по-разному пытался).
Сделал так, посмотрите плз, правильно ли так(но там есть одна проблема. У меня заменяется последняя картинка - ОК. Но если я хочу сначала заменить предпоследнюю, а потом последнюю, то не выходит).
Код.
var arr = new Array("img/blue.jpg", "img/bline2.jpg", "img/close.png");
var arrRep = new Array("img/site.jpg", "img/x5.jpg");
function getImg(){
for(var i = 0; i < arr.length; i++){
document.getElementById("imgArr").innerHTML += "<img src=" + arr[i] + " />";
}
}
function replaceImg(){
var asd = document.querySelectorAll('div#imgArr > img');
var willBeReplace = asd[2].parentNode.removeChild(asd[2]);
//alert(asd[2]);
var addedElemen = arrRep[1];
document.getElementById("imgArr").innerHTML += "<img src=" + addedElemen + " />";
//var aaa = willBeReplace.replaceChild(addedElemen, willBeReplace.childNodes[0]);
//alert(willBeReplace);
// Create a new text node called "Water"
//var textnode = arrRep[1];
//alert(textnode);
// Get the first child node of an <ul> element
//var item = document.getElementById("imgArr").childNodes[2];
//alert(item);
//var item = document.querySelectorAll('div#imgArr > img');
//alert(item[2]);
// Replace the first child node of <ul> with the newly created text node
//document.getElementById("imgArr").innerHTML = item.replaceChild(textnode, item.childNodes[2]);
//alert(item);
<div class="animated" id="imgArr">
</div>
<div>
<input type="button" value="Start" OnClick="getImg();" />
<input type="button" value="Replace" OnClick="replaceImg();" />
</div>
<div>