111

私はおそらく何か単純なものを見逃していますが、読んだものがすべて機能しないと非常に面倒です. 動的に生成されたページの過程で何度も複製される可能性のある画像があります。したがって、やるべきことは明らかで、それをプリロードして、常にその 1 つの変数をソースとして使用することです。

var searchPic;
function LoadImages() {
    searchPic = new Image(100,100);
    searchPic.src = "XXXX/YYYY/search.png";
    // This is correct and the path is correct
}

次に、使用して画像を設定します

  document["pic1"].src = searchPic;

また

  $("#pic1").attr("src", searchPic);

[object HTMLImageElement]ただし、画像として取得したsrc画像をクエリすると、FireBug で画像が正しく設定されません

IEで私は得る:

http://localhost:8080/work/Sandbox/jpmetrix/[object]
4

10 に答える 10

107

これを使用してsrcを設定する必要があります:

document["pic1"].src = searchPic.src;

また

$("#pic1").attr("src", searchPic.src);
于 2009-08-05T12:03:00.830 に答える
68

純粋な JavaScript を使用してimgタグを作成し、add attributes手動で、

var image = document.createElement("img");
var imageParent = document.getElementById("body");
image.id = "id";
image.className = "class";
image.src = searchPic.src;            // image.src = "IMAGE URL/PATH"
imageParent.appendChild(image);

src を設定するpic1

document["#pic1"].src = searchPic.src;

またはgetElementByIdを使用

document.getElementById("pic1").src= searchPic.src;

これをアーカイブするj-Query、

$("#pic1").attr("src", searchPic.src);
于 2014-06-19T11:17:17.670 に答える
7

イメージ コンストラクターのインスタンスは、どこでも使用するためのものではありません。を設定するだけsrcで、画像がプリロードされます...それだけで、ショーは終了です。オブジェクトを破棄して先に進むことができます。

document["pic1"].src = "XXXX/YYYY/search.png"; 

あなたがすべきことです。引き続きイメージ コンストラクターを使用して、 のonloadハンドラーで 2 番目のアクションを実行できますsearchPicsrcこれにより、実際のimgオブジェクトに を設定する前にイメージがロードされます。

そのようです:

function LoadImages() {
    searchPic = new Image();
    searchPic.onload=function () {
        document["pic1"].src = "XXXX/YYYY/search.png";
    }
    searchPic.src = "XXXX/YYYY/search.png"; // This is correct and the path is correct
}
于 2009-08-05T12:04:22.933 に答える
6

また、これを解決する 1 つの方法はdocument.createElement、html imgを使用して作成し、その属性を次のように設定することです。

var image = document.createElement("img");
var imageParent = document.getElementById("Id of HTML element to append the img");
image.id = "Id";
image.className = "class";
image.src = searchPic.src;
imageParent.appendChild(image);

注意: 1 つのポイントは、Javascript コミュニティが現在、開発者にdocument["pic1"] ではなくquerySelector, getElementByIdandなどのドキュメント セレクターを使用することを奨励していることです。getElementsByClassName

于 2013-12-08T17:03:45.297 に答える
2
document["pic1"].src = searchPic.src

動作するはずです

于 2009-08-05T12:03:01.687 に答える
1

まったく新しいイメージを構築する必要はありません... src 属性は文字列値を取るだけです:-)

于 2009-08-05T12:04:00.967 に答える
0

設定する必要があります

document["pic1"].src = searchPic.src;

searchPic 自体が Image() です。設定した src を読み取る必要があります。

于 2009-08-05T12:03:40.593 に答える
0

src 要素を JavaScript で作成した画像全体に設定しているため、src プロパティはオブジェクトです。

試す

document["pic1"].src = searchPic.src;
于 2009-08-05T12:05:17.347 に答える
0

わお!使用する場合はsrcsrcofsearchPicも使用する必要があります。

document["pic1"].src = searchPic.src

よく見える

于 2009-08-05T12:05:53.600 に答える