Javascript jQuery:相当于CSS的.live()?

Javascript jQuery:相当于CSS的.live()?,javascript,css,jquery,Javascript,Css,Jquery,如何向动态创建的元素添加CSS 以下是我想做的一个简单示例: $(document).ready(function() { $('#container').html('<p id="hello">hello world</p>'); // The following line doesn't work. $('#hello').css("background-color", "#FFF"); }); 我需要专门为IE8及以下版本使用这一行jQ

如何向动态创建的元素添加CSS

以下是我想做的一个简单示例:

$(document).ready(function() { 
    $('#container').html('<p id="hello">hello world</p>');
    // The following line doesn't work. 
    $('#hello').css("background-color", "#FFF");
});

我需要专门为IE8及以下版本使用这一行jQuery,它们不支持
nth-child
CSS选择器

您可以将新元素声明为变量

$(document).ready(function() { 
    var $new = $('<p id="hello">hello world</p>');
    $new.css({
        backgroundColor: "#fff"
    })
    $('#container').append($new);
});
$(文档).ready(函数(){
var$new=$('

hello world

); $new.css({ 背景颜色:“fff” }) $('#container')。追加($new); });
你可以用appendTo

$(document).ready(function() { 
    $('<p id="hello">hello world</p>').appendTo('#container').css({
        backgroundColor: "#fff"
    })
});
$(文档).ready(函数(){
$('

hello world

).appendTo('#container').css({ 背景颜色:“fff” }) });
但是,如果您正确创建元素,那么您可以在最后使用原始CSS

    $('#container').append('<p id="hello">hello world</p>');        
$(“#容器”).append(“

hello world

”);
实际上,您的代码确实有效。您可能需要检查该ID是否没有多个元素

编辑: 这是您的代码,没有重复的ID:

最终编辑:
您的HTML背景和元素背景都是白色的。

您可以不直接设置CSS,只需在偶数行中添加一个类即可

$("#results-table tr:even").addClass("alt");
CSS设置行颜色,然后为备用行设置一组不同的颜色

<style type="text/css">
tr
{
    background: #fff;
    color: #000;
}

tr.alt
{
    background: #000;
    color: #fff;
}
</style>

tr
{
背景:#fff;
颜色:#000;
}
tr.alt
{
背景:#000;
颜色:#fff;
}

这对我来说不起作用,但也许我只是在做一些愚蠢的事情:HTML和新元素的背景都是白色的。你正在将背景颜色设置为白色。它已经是白色了。是的,我正在做一些愚蠢的事情:)背景色设置为白色。很抱歉浪费你的时间+1这是一种自动执行的方式-最等同于
.live()
<style type="text/css">
tr
{
    background: #fff;
    color: #000;
}

tr.alt
{
    background: #000;
    color: #fff;
}
</style>