jQuery选择器未获取所有行


jQuery selector not fetching all rows

我在jquery选择器方面遇到了一些小问题。当我这样写HTML时:

<?php
for($i=1; $i<=3; $i++)
{
    echo "<div>";
    for($j=1; $j<=3; $j++)
    {
        if($j==2)
            echo "<div id='n$i$j' class='news-container has-border'>$i$j</div>";
        else
            echo "<div id='n$i$j' class='news-container'>$i$j</div>";
    }
    echo "</div>";
    }
?>

我稍后可以使用jquery访问所有div,除了第三行中的div,如下所示:

$("#n11").css("background-color","red"); <-- WORKS
$("#n21").css("background-color","red"); <-- WORKS
$("#n31").css("background-color","red"); <-- NOT WORKING

这个javascript代码也适用于

for(i=1; i<=3; i++)
    for(j=1; j<=3; j++)
        console.log($("#n"+i+j).attr("id"));

它将所有9个id写入控制台。但此代码只更改前6个div。

for(i=1; i<=3; i++)
    for(j=1; j<=3; j++)
        $("#n"+i+j).html("news"); 

我试着用各种可能的方法来配合,但总是得到同样的结果。。

应用anyslider()插件后确定。。我把id改成了class,它起了作用。。所以我想问题并没有解决,只是被欺骗了!

    if($j==2) {
        echo "<div id='n".$i.$j."' class='news-container has-border'>".$i.$j."</div>";
    } else {
        echo "<div id='n".$i.$j."' class='news-container'>".$i.$j."</div>";
    }

我想你错过了#

 $("#n11").css("background-color","red"); 
 $("#n21").css("background-color","red"); 
 $("#n31").css("background-color","red"); 

为我工作:

<script>
$(document).ready(function(){
 $("#n11").css("background-color","red"); 
 $("#n12").css("background-color","red"); 
 $("#n13").css("background-color","red"); 
});
</script>

在php中

<?php
    for($i=1; $i<=3; $i++)
    {
        echo "<div>";
        for($j=1; $j<=3; $j++)
        {
            if($j==2) {
                echo "<div id='n".$i.$j."' class='news-container has-border'>".$i.$j."</div>";
            } else {
                echo "<div id='n".$i.$j."' class='news-container'>".$i.$j."</div>";
            }
        }
        echo "</div>";
    }
?>