287

javascriptを使用しsrcてタグの属性を変更するにはどうすればよいですか?img

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

最初は「../template/edit.png」というデフォルトのsrcがあり、クリック時に「../template/save.png」で変更したいと思いました。

更新:これが私の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()内に挿入しようとしましたが、機能しますが、画像を2回クリックする必要があります

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

9 に答える 9

364

imgタグにIDを付けると、次のことができます

document.getElementById("imageid").src="../template/save.png";
于 2012-07-30T13:18:51.033 に答える
79

jqueryとjavascriptの両方のメソッドを使用できます。たとえば、2つの画像がある場合:

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

1)Jqueryメソッド->

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

2)Javascriptメソッド->

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

このタイプの問題では、jqueryを使用するのが簡単です。

于 2015-02-12T17:58:28.823 に答える
38

JQueryライブラリを使用する場合は、次の手順を使用します。

$("#imageID").attr('src', 'srcImage.jpg');
于 2013-12-03T13:52:12.503 に答える
31

今は大丈夫

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";                              
}
于 2012-07-30T14:33:07.237 に答える
12

画像にIDを付けます。次に、JavaScriptでこれを行うことができます。

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

この構文を使用して、任意の要素の任意の属性の値を変更できます。

于 2014-07-18T23:31:52.800 に答える
9
<img src="../template/edit.png" name="edit-save" onclick="this.src = '../template/save.png'" />
于 2012-07-30T13:20:50.920 に答える
8

提供したスニペットを使用すると(要素の親についての仮定を行わずに)、次の画像への参照を取得できます。

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(要素を取得するための最速の方法であるため)

于 2012-07-30T13:21:17.507 に答える
8

この場合、要素の最初の値を変更したいので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>
于 2014-10-03T17:24:20.017 に答える
4

タグの親のようなタグがあるためかもしれません。そのため、画像を2回クリックする必要があります。

私にとっての解決策はこれです: http ://www.w3schools.com/js/tryit.asp?filename = tryjs_intro_lightbulb

于 2017-01-19T09:06:22.813 に答える