jQuery:使用append()后我无法修改元素的CSS颜色

Ben*_*n K 2 jquery

我使用jQuery的append()命令从数组中创建一组DIV.

在做了一个简单的JSON请求之后,我现在想要使用css()命令更改DIV中文本的颜色.但是,我似乎无法让它发挥作用.

以下是我编写的代码的横截面:

function createList(myArray){
    $.each(myArray,function(index,item){
        $("#results_panel").append('<div id="result_'+item+'">'+item+'</div>');
        doSomeStuff(item);
    });
}

function doSomeStuff(item){
    var urlJSON="file_upload.php?ip_address="+item;
    $.getJSON(urlJSON,function(json){
        if (json.result == "true") {
            $("#result_"+item).css("color","#00FF00");
        } else {
            $("#result_"+item).css("color","#FF0000");
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用document.getElementByID.("result _"+ item).style.color,这将起作用.

谁能告诉我这里做错了什么?我对jQuery很新,所以如果这是一个非常明显的问题,请道歉.

End*_*der 5

您的问题是您用作元素ID的值. 看看这个小提琴 - >

DOM方法将允许带有IP的名称.但是,jQuery .将IP地址中的s 解释为类选择器的开头,因此不会选择任何内容.

看看这两个演示:

通过用.下划线替换IP中的s,该ID对于jQuery选择有效,并且将正确应用颜色.