【发布时间】:2021-07-07 13:01:25
【问题描述】:
我在按 id 选择元素时遇到问题,首先我在我的 id 中使用括号,例如 categories[1] 等等。我刚刚意识到禁止在 id 中使用括号,我将其更改为就像这样 categories1 ...但我仍然无法选择我的元素。使用括号我尝试像这样转义它:
<script>
$( "#categories\\[<?php echo $categoryId ?>\\]" ).css( "margin-top", "-10px" );
</script>
它不起作用,当我将 id 更改为不带括号时,我正在使用这个:
<script>
$( "#categories<?php echo $categoryId ?>" ).css( "margin-top", "-10px" );
</script>
但它仍然不起作用。我以前也遇到过同样的问题,但我只是使用了 javascript 而不是 jquery 并且效果很好。这可能是什么问题?这个元素还有一个css文件,它指的是class,但我想我的代码应该覆盖它?
我刚刚直接尝试了<style>,它适用于这个:
<style type="text/css">
#categories<?php echo $categoryId ?> {
margin-top: -10px;
}
</style>
为什么我的 jquery 代码不起作用?
编辑: 我错过了文件中的这个脚本行,这是一个有趣的错误。这解决了我的问题。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
【问题讨论】:
-
避免像这样修改 CSS。为每个场景制作一个包含类的单独 CSS 文件,然后仅使用 JS/jQ 来更改元素的类。
-
<?php echo $categoryId ?>可能有问题??是不是 null 或者 smth else?? -
我怀疑你在元素存在之前运行它。包裹在
$(function(){ $( "#categories<?php echo $categoryId ?>" ).css( "margin-top", "-10px" );})中是否有效? -
我 100% 确定它不是 null 或任何东西,它是正确的值,因为我需要,它直接与
<style>一起使用,所以情况并非如此,我会尝试 @charlietfl 解决方案
标签: php jquery css jquery-selectors