javascript - 属性未设置

标签 javascript jquery html google-app-engine

这是我的脚本

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/

相关文章:

javascript - 不要替换现有的 url 正则表达式

javascript - 当我更改代码、保存并在我的浏览器上测试它时,它仍然运行旧代码,为什么?

javascript - jQuery textarea 用纯文本替换回车符

javascript - 如何使用 javascript/jquery 在 <select> 标签中添加验证?

javascript - 在 ag-grid 更新后保留过滤器

javascript - jQuery 日期选择器更改格式不显示正确的月份

javascript - 如果 JS 中的 innerText 为空,则将输入值推送到数组

javascript - $.when().done() 在when完成之前触发done函数

javascript - 无法从 CakePHP 3 中的 AJAX 请求获取数据

c# - 以编程方式从网页读取值