に基づいてチェックdiff
していますが、0より大きいかどうかをチェックするつもりはありませんか?
負の数は に評価されtrue
ます。
Boolean(-1);//true
Boolean(50);//true
Boolean(-500);//true
Boolean(-0.001);//true
Boolean(0);//false
diff が 0 より大きいことに基づいて決定されたソース属性を使用して、新しい画像を作成する方法を次に示します。注意してください。実際の要素を使用しているためsrc
、文字列値の代わりに属性を変更しているため、より読みやすくなっています。コード。
var diff = maxval - ui.value;
var img = new Image();
img.src = (diff > 0 ) ? "yes.png" : "no.png";
img.width = "50px";
img.height = "50px";
$( "#output").empty().append(img);
これは、テキストノードを含む完全にバニラのソリューションです。
var diff = maxval - ui.value;
var img = new Image();
img.src = (diff > 0 ) ? "yes.png" : "no.png"; // assuming you mean to check positive value
img.width = "50px";
img.height = "50px";
var el = document.getElementById("output");
el.appendChild(img);
var text = (diff > 0) ? "diff" : "no diff";
var txt = document.createTextNode(text);
el.appendChild(txt);
この「より長い」コードの利点は最初は明らかではないように見えますが、操作は非常に簡単です。文字列ではなく DOM 要素を直接操作しています。属性の追加や削除、プロパティの変更、複製などを簡単に行うことができます。