我使用以下代码搜索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')吗? / p>
编辑:
所以我使用的javascript函数实际上与php数据库正常工作,根本不需要更改。问题是由于我没有在数据库上大写“Full HD”。它从数据库中取出“全高清”而不是“全高清”,因此在搜索“全高清”时,没有找到任何内容,因此没有添加任何课程。感谢您的回复和潜在的解决方法。知道有很多人愿意帮助陌生人,这意味着很多。我迫不及待地想要回馈。
答案 0 :(得分:0)
由于您无论如何都是通过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。