jquery 无法更改所选 ID css

jquery cannot change selected id css

我有一个问题 select 通过 id 设置我的元素,首先我在我的 id 中使用方括号 categories[1] 等等。我刚刚意识到禁止在 id 中使用方括号,我把它改成这样 categories1... 但我仍然不能 select 我的元素。用括号我试着像这样转义它:

<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>

你可以这样试:

//$("[id='categories[<?php echo $categoryId ?>]']").css( "margin-top", "-10px" );
$("[id='categories[1]']").css({
  "color": "red",
  "margin-top": "10px"
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="categories[1]">abcd</div>