[英]How to add class to element that contains a certain string which is being pulled from database
我使用以下代码在div中搜索特定文本,如果找到,则将另一个类添加到div。
<div class="res">Full HD</div>
$(document).ready(function () {
$('div.res').each(function () {
if ($(this).text() === "Full HD") {
$(this).addClass('fullhd');
}
});
});
它的运行效果非常好,感谢您对这个社区的帮助,以帮助我弄清楚该如何做。
但是,我改用下面的PHP从数据库中提取我想要函数搜索的文本,即“ Full HD”,但现在它不再起作用,正如我很不希望的那样。
<div class=\"res\">".$suggested_videos[$i]['definition']."</div>
我有点理解为什么这种做法不再有效,但很难说清楚,因此我对此表示歉意。 是否可以添加到javascript函数中,以在数据库的['definition']列中搜索“ Full HD”,然后根据是否找到正确的类('fullhd')添加正确的类?
编辑:
因此,我使用的javascript函数实际上可以与php数据库一起正常使用,根本不需要更改。 问题是由于我没有在数据库中大写“ Full HD”。 它是从数据库中提取“ Full HD”而不是“ FULL HD”,因此在搜索“ FULL HD”时,什么都没有找到,因此没有添加任何类。 感谢您的答复和潜在的解决方法。 知道有很多人愿意帮助一个陌生人,这意味着很多。 我等不及要回报了。
由于无论如何都是通过PHP输出内容,因此只需在服务器/ PHP端添加一个条件,检查$suggested_videos[$i]['definition']
是什么,然后在其中添加类。 请参阅以下内容:
<?php
echo '<div class="res ';
if ($suggested_videos[$i]['definition'] === 'Full HD') {
echo 'fullhd';
}
echo '">' . $suggested_videos[$i]['definition'] .'"</div>';
?>
未经测试,但可以引导您走正确的道路。
需要进一步澄清:您的JavaScript在网站的前端/用户的浏览器中运行,并且无法直接访问数据库。 PHP在您的服务器上运行(即使它是您的本地开发计算机),并会生成内容,并在用户看到之前将其输出到前端。 以上检查内容,如果条件正确,则添加<div>
类。 这也可能对您有用: https : //stackoverflow.com/a/6369454/823549 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.