jQuery添加变量到选择器不起作用

时间:2016-01-24 18:07:57

标签: javascript jquery

我将ID传递给选择器,但不知怎的,它不起作用。当我对它进行硬编码时,它就可以了。下面是我的脚本和我尝试过的各种方法。 :

 jQuery("li.<?php echo slugify($catId); ?>").closest("ul").closest("li").addClass("active");    

当我在控制台中查看时,上面的脚本正确地回显了$ catId,但它不起作用。 然后我试了一下: -

var catId='<?php echo $catId; ?>';
jQuery("li."+catId).closest("ul").closest("li").addClass("active");

在控制台中,变量catId根本没有打印出来。它在控制台中显示(&#34; li。&#34; + catId)。

然后我尝试将其转换为字符串并将其传递给选择器,如下所示:

var catString = catId.toString(); 

它也不起作用。我将catId直接硬编码到线上,它的工作正常。

任何人都可以提供帮助?提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您正在尝试上述代码段,则HTML应该如下所示

<li class="<?php echo slugify($catId); ?>"> ....

你不应该将它们与id属性

相关联

答案 1 :(得分:0)

我设法解决了! 它只是将整个<script></script>移到<li> </li>之后 基本上脚本的放置会导致问题。 :)