jquery无法更改选定的id css

问题描述

我在按 id 选择元素时遇到问题,首先我在我的 id 中使用了括号,例如 categories[1] 等等。我刚刚意识到在 id 中禁止使用括号,我将其更改为这样 categories1 {1}}...但我仍然无法选择我的元素。使用括号,我尝试像这样转义它:

<script>
$( "#categories\\[<?PHP echo $categoryId ?>\\]" ).css( "margin-top","-10px" );
</script>

它没有用,当我将 ids 更改为没有括号时,我正在使用这个:

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