我在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>";
}
?>