2015-04-22 78 views
5

我想使這個Javascript代碼,當我點擊「刪除圖像」鏈接,它會刪除圖像。請幫幫我。Javascript代碼移除圖像

<script> 
function previewFile(){ 

    var preview = document.querySelector('img'); 
    var file = document.querySelector('input[type=file]').files[0]; 
    var reader = new FileReader(); 

    reader.onloadend = function() { 
     preview.src = reader.result; 
    } 
    if (file) { 
     reader.readAsDataURL(file); 
    } else { 
     preview.src = ""; 
    } 
} 

    previewFile(); 

</script> 

<input type="file" onchange="previewFile()"><br> 
<img src="" height="200" alt="Image preview..."> 
<a href="#">remove image </a> 

    </body> 
</html> 
+1

爲什麼不只需隱藏'img'元素? – Kane

+2

只需隱藏圖像元素,或將其源代碼更改爲其他內容。或者什麼也沒有。 – piggy

+0

我想隱藏成像路徑也 – user3732708

回答

1
<img id='image' src="" height="200" alt="Image preview..."> 
<a id='remove' href="#">remove image </a> 

<script> 
$(function rmv() { 
    $('#remove').click(function() { 
      $('#image').remove(); 
     } 

}); 
</script> 
+0

它不會刪除圖像,它隱藏它。你應該使用jQuery的刪除功能(甚至是JavaScript)。 $('#myImage')。remove(); 如果你想保留你的舊圖像路徑,我會建議使用創建一個名爲「imageCache」的數組,並保持用戶在那裏看到的圖像,這樣你就可以輕鬆地在在div中的圖像沒有冒着「揭示」你的隱藏圖像的風險。 –

+0

(S)他沒有要求提供jQuery解決方案 – sroes

+0

我也想要刪除隱藏的圖像路徑。 – user3732708

0

保持img元素的股利和分配ID既此元素

<input type="file" onchange="previewFile()"><br> 
<div id="imgDiv"> <img id="image1" src="" height="200" alt="Image preview..."></div> 
    <a href="#">remove image </a> 

     </body> 
    </html> 

<script> 
function previewFile() { 

    var d = document.getElementById('imgDiv'); 

    var olddiv = document.getElementById("image1"); 

    d.removeChild(olddiv); 

} 

</script> 
0
<img src="" id="image" height="200" alt="Image preview..."> 
<a href="#" onclick="foo()">remove image </a> 

JS:

function foo(){ 
    var image = document.getElementById("image"); 
    if (image != null) 
    { 
      image.parentNode.removeChild(image); 
    } 
} 
1

如果不能id屬性添加到img,您可以用原始的JavaScript這樣的刪除它 - 它假定圖像被錨標記直接之前,允許它們之間只有一個文本節點:

function removeImage(el){ 
    if(!el.previousSibling.tagName){//if it is textnode like newline etc. we go one back 
     var el = el.previousSibling; 
    } 
    if(el.previousSibling.tagName && el.previousSibling.tagName=='IMG'){ 
     el.previousSibling.remove(); 
    } 
} 

<img src="" height="200" alt="Image preview..."> 
<a href="#" onclick="removeImage(this);">remove image</a>