我对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,除了第三行中的那些,如下所示:
$("#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更改为类并且它有效..所以我想这个问题不是固定的只是欺骗了!
答案 0 :(得分:2)
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>";
}
?>