0

これは私のスクリプトです

var str1 = "#";
var str2 = unique;
var n = str1.concat(str2);

if (status > 0){
$(n).attr("src", "/img/red.jpg")

}else{
$(n).attr("src", "/img/green.jpg")
}

これは私のhtmlです-テーブル内-一意のコード(かなり長いID?)は同じですタグ内でus.key() 使用した場合は機能しました(非常に複雑でエラーが発生しやすいですが)これは単純で機能するはずですが、機能しません? 私が間違っていることは何ですか?find()<tr>

    <td>
    {% if us.status == 0 %}
<img id={{us.key()}} src="/img/green.jpg"></img>
{% else %}
<img     id="{{us.key()}}" src="/img/red.jpg"></img>
{% endif %}
    </td>

更新:文字列をスクリプトに直接追加すると機能します-どういうわけか、連結された文字列が変更されています

4

2 に答える 2

2

次のように jQuery コードを適切に実行してみてください。

(function ($) {
    "use strict";
    // Based on your original code, I'm assuming that both the 'unique' and 'status' variables are global
    var str = unique;
    if (status > 0) {
        $('#' + str).prop("src", "/img/red.jpg");
    } else {
        $('#' + str).prop("src", "/img/green.jpg");
    }
}(jQuery));

.attr()の代わりに .prop ()メソッドを使用する必要があることに注意してください。prop を使用することをお勧めします。

于 2013-10-16T08:50:04.187 に答える