Jquery - 根据sql结果的值更改字体颜色

时间:2013-06-21 08:53:13

标签: php jquery html css sql

我希望使用jquery更改div的字体颜色,其中div由SQL查询的输出填充。

我有:

$(document).ready(function(){
    $('#foo').each(function(){
        if ($(this).text() == 'bar') {
            $(this).css('color','orange');
        }
    });
});

来自SO搜索,当div包含文本时,它可以正常工作。

但是因为这是SQL,我在填充div:“。$ row ['result']。”

现在这不起作用。我猜这是因为sql,虽然是一个varchar字段是一个$ variable而不是'text'这样的?

我确信这很简单,但我很难在谷歌中用这句话来回复任何有用的内容。

非常感谢。

修改

整个事情是相当长的,在我尝试添加jquery之前一切正常,所以我只是发布添加内容。

这是在头脑中:

echo "<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js'></script>";  
echo "<script type='text/javascript'>";  
echo "$(document).ready(function(){ $('#foo').each(function(){ if ($(this).text() == 'bar') { $(this).css('color','orange');}});});";

然后我在while循环中回显每一行:

  

$ sql =“SELECT ...”;
      $ result = mysql_query($ sql)或die(mysql_error());
      while($ row = mysql_fetch_array($ result)){
      echo "<div id='foo'>".$row['result']."</div>";
      }

整个文档都包含在PHP中,但它不是问题的根源,好像我将div更改为包含文本而不是“。$ row ['result']。”然后jquery就可以执行了。

2 个答案:

答案 0 :(得分:0)

您是否使用$ .ajax调用或仅在页面加载时通过PHP嵌入值?

如果您使用PHP打印该值,我猜您忘记回显该值:

".<?php echo $row['result']?>."

不只是:

".$row['result']."

答案 1 :(得分:0)

你给每个div都有相同的id(“foo”)。一个id必须在HTML中是唯一的,你最好使用一个类。你现在拥有它的方式.each()函数只能在一个元素上调用,可能是第一个元素。

像这样更改HTML输出:

echo "<div class='foo'>".$row['result']."</div>";

然后,相应地调整jQuery中的选择器:

$('.foo').each(function(){
  // ...
}