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));

请注意,您应该使用.prop()方法而不是 .attr()。使用 prop 是推荐的方式。

于 2013-10-16T08:50:04.187 回答
0

你可以试试

var str1 = "#";
var str2 = unique;


//  var n = str1.concat(str2);

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

}else{
$("#"+str2 ).attr("src", "/img/green.jpg")
}
于 2013-10-16T08:40:36.460 回答