这是我的脚本
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>
更新:如果我将字符串直接添加到脚本中,它就会起作用 - 不知何故,连接的字符串正在发生变化
最佳答案
尝试像这样正确地执行 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 方式。
关于javascript - 属性未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19398711/