问题描述
我在按 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>