IT story

img 태그의 src를 프로그래밍 방식으로 변경

hot-time 2020. 4. 21. 08:21
반응형

img 태그의 src를 프로그래밍 방식으로 변경


자바 스크립트를 사용하여 태그 src속성을 어떻게 변경할 수 img있습니까?

<img src="../template/edit.png" name=edit-save/>

처음에는 기본 src 인 "../template/edit.png"가 있고 "../template/save.png"onclick로 변경하고 싶었습니다.

업데이트 : 여기 내 HTML onclick이 있습니다.

<a href='#' onclick='edit()'><img src="../template/edit.png" id="edit-save"/></a>

내 JS

function edit()
{   
    var inputs = document.myform;
    for(var i = 0; i < inputs.length; i++) {
        inputs[i].disabled = false;
    }
}

나는 이것을 edit () 안에 삽입하려고 시도했지만 작동하지만 이미지를 두 번 클릭해야합니다.

var edit_save = document.getElementById("edit-save");
    edit_save.onclick = function(){
       this.src = "../template/save.png";
    }

img 태그에 ID를 부여하면

document.getElementById("imageid").src="../template/save.png";

jquery와 javascript 메소드를 모두 사용할 수 있습니다. 예를 들어 두 개의 이미지가있는 경우 :

<img class="image1" src="image1.jpg" alt="image">
<img class="image2" src="image2.jpg" alt="image">

1) 쿼리 방법->

$(".image2").attr("src","image1.jpg");

2) 자바 스크립트 방법->

var image = document.getElementsByClassName("image2");
image.src = "image1.jpg"

이 유형의 문제의 경우 jquery가 사용하기 쉽습니다.


JQuery 라이브러리를 사용하는 경우 다음 지시 사항을 사용하십시오.

$("#imageID").attr('src', 'srcImage.jpg');

이제 괜찮아

function edit()
{   
    var inputs = document.myform;
    for(var i = 0; i < inputs.length; i++) {
        inputs[i].disabled = false;
    }

    var edit_save = document.getElementById("edit-save");

       edit_save.src = "../template/save.png";                              
}

<img src="../template/edit.png" name="edit-save" onclick="this.src = '../template/save.png'" />

이 경우 src요소의 첫 번째 값 을 변경 하기 위해 함수를 작성할 필요가 없습니다. 요소에서 바로 변경할 수 있습니다.

<a href='#' onclick='this.firstChild.src="../template/save.png"')'>
  <img src="../template/edit.png" id="edit-save"/>
</a>

여러 가지 방법이 있습니다. 프로세스를 자동화하는 함수를 작성할 수도 있습니다.

function changeSrc(p, t) { /* where p: Parent, t: ToSource */
  p.firstChild.src = t
}

그럼 당신은 할 수 있습니다 :

<a href='#' onclick='changeSrc(this, "../template/save.png");'>
  <img src="../template/edit.png" id="edit-save"/>
</a>

제공 한 스 니펫을 사용하여 (요소의 부모에 대한 가정을하지 않고) 이미지를 참조 할 수 있습니다

document.querySelector('img[name="edit-save"]');

src를 다음과 같이 변경하십시오.

document.querySelector('img[name="edit-save"]').src = "..."

따라서 원하는 효과를 얻을 수 있습니다

var img = document.querySelector('img[name="edit-save"]');
img.onclick = function() {
    this.src = "..." // this is the reference to the image itself
};

그렇지 않으면 다른 제안 된 것처럼 코드를 제어 id하는 경우 이미지에 참조 를 지정하는 것이 좋습니다 getElementById(요소를 검색하는 가장 빠른 방법이기 때문에)


이미지에 ID를 부여하십시오. 그런 다음 자바 스크립트 에서이 작업을 수행 할 수 있습니다.

document.getElementById("blaah").src="blaah";

".___"메소드를 사용하여 요소의 속성 값을 변경할 수 있습니다.


태그의 부모와 같은 태그가 있기 때문일 수 있습니다. 이미지를 두 번 클릭 해야하는 이유입니다.

저에게 해결책은 다음과 같습니다 .http : //www.w3schools.com/js/tryit.asp? filename = tryjs_intro_lightbulb

참고 URL : https://stackoverflow.com/questions/11722400/programmatically-change-the-src-of-an-img-tag

반응형