UPDATED(一部の人々は笑、私を信じていないので)
ので、 .append
が最初にノードを作成し、次にmそれを適切な位置に据える。最初に要素を追加し、その属性を次のように追加してみてください。
$(function() {
$("#test").append(
$("<img />").attr({
src: "http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Bachalpseeflowers.jpg/300px-Bachalpseeflowers.jpg",
onload: "alert(\'hi\')"
})
);
});
私の答えは問題を「回避」しません。それは非常に直接的です。圧縮されていない形式でjQuery.jsファイルを開くと、onload
イベントが最初に呼び出されたときにが文書にnode
を作成してから、shifts
が再度呼び出されるときの位置になることがはっきりとわかります。おそらくシフトは間違った言葉です。私はボキャブラリーが私の強い訴訟ではないので、私を許してください。しかし、コードをたどってその作成とその移動を見ると、ノードを既に作成しているので、再度移動するためにappendを使用しても同じことは言われません、onloadのresparkなしで要素間を移動するだけです。私が言ったように、最良の用語は不明ですが、jQuery.jsに従うのはとても簡単です。
私を信じられませんか? MSIE9、FF12、& GoogleChrome20に次のfiddleをテストしただけで問題は発生しません。
ちょうどFYI、それは本当に恐ろしいの練習ではありませんが、私は、人々はすべての時間と敗北のそのような目的のjQueryでHTMLの行全体を書き参照してください。それは目的のために読むために多くの本を持つ図書館です。 HTMLの完全なラインがより簡単に見えるかもしれませんが、それはあなたのためにされている素晴らしいレイアウトのすべての作業に従わないので、速くないかもしれません。このアイデアは、「少ないものを書く、より多くをやる」というもので、これにはHTMLが含まれています。結局のところ、HTMLの全ラインを書くつもりなら、なぜPHPだけでもjQueryを使うのはなぜですか? :Pちょうど考え。
'.htmlを(...)'メソッドは、それを修正しますが、私は分からないなぜこの – Teneff
が起こってはofftopicかもしれないが、あなたは、 'load'を添付することはありませんです画像に – Jashwant
@ジャシュワント:理由を説明できますか? 'coz私はw3cの人がそれについて何か言及しているのを見ています:http://www.w3schools.com/jsref/event_img_onload.asp – Erric