2016-03-09 4 views
-1

Используя javascript, я добавляю две кнопки, один добавит картинку, а другой удалит изображение. Я просто тренируюсь для экзамена ...JavaScript Как удалить ребенка

Кнопка и функция, чтобы добавить изображение, прекрасно работают, я борюсь с функцией, чтобы удалить изображение. Если я добавлю две кнопки, а также картинку на сайт и добавлю идентификатор к изображению, и удалите это изображение с помощью идентификатора. Но если я только две кнопки и попытаюсь начать добавлять картинки, тогда у меня не будет ID, поэтому я потерян!

Функция deleteMe ниже работает отлично, удаляя это первое изображение. Но я не хочу иметь никаких фотографий при загрузке веб-сайта, я хочу, чтобы две кнопки добавлялись и удалялись. Поэтому я не знаю, как удалить элементы. Вот то, что я до сих пор для двух функций, спасибо !!!:

function deleteMe(){ 
    var toDelete = document.getElementById('image23'); 
    toDelete.parentNode.removeChild(toDelete); 
} 

function addMe(){ 

    var img = document.createElement('IMG'); 
    img.setAttribute("src", "elephant.jpg"); 
    img.setAttribute("width", "60"); 
    img.setAttribute("height", "60"); 
    document.body.appendChild(img); 

} 
+0

Где вы получаете в 'image23'? Я не вижу, чтобы вы указали этот идентификатор в addMe –

+0

. Вы можете попробовать document.getElementsByTagName («IMG») [0], чтобы найти свое изображение, тогда вам не нужно устанавливать идентификатор. – sakurashinken

+0

Это то, что, если я сначала добавлю изображение, то могу это сделать: image of elephant

ответ

0

Я думаю, что вы забыли дать изображение, которое вы создаете идентификатор.

Вы используете:

var toDelete = document.getElementById('image23'); 

Чтобы получить изображение, вы удаляете, но вы никогда не назначить этот идентификатор к изображению. Чтобы добавить идентификатор, когда вы сделаете свой образ, используйте:

img.setAttribute("id", "image23"); 

или

img.id = 'image23' 

Редактировать

Если вы позволяете несколько изображений, которые будут добавлены, и только хотите удалить их один в то время, то я думаю, что метод sakurashinken прокомментирован, вероятно, более идеален, однако вместо того, чтобы хватать:

document.getElementsByTagName("IMG")[0] 

Вы должны использовать класс, если у вас есть другие изображения на вашей странице.

Это сделает ваш новый AddMe:

... 
img.setAttribute("src", "elephant.jpg"); 
img.className = 'deletebybutton'; 
img.setAttribute("width", "60"); 
... 

и новый DeleteMe:

var toDelete = document.getElementsByClassName("deletebybutton")[0]; 
toDelete.parentNode.removeChild(toDelete); 
+0

Спасибо большое! –

Смежные вопросы