1

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

我有:

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

来自当 div 包含文本时工作正常的 SO 搜索。

但由于这是 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 = "选择...";
$result = mysql_query($sql) 或死(mysql_error());
而($row = mysql_fetch_array($result)){
echo "<div id='foo'>".$row['result']."</div>";
}

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

4

2 回答 2

0

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

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

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

不只是:

".$row['result']."
于 2013-06-21T09:36:08.027 回答
0

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

像这样更改 HTML 输出:

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

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

$('.foo').each(function(){
  // ...
}
于 2013-06-21T10:22:51.477 回答