Javascript jQuery在ul的第二个子级中不起作用

Javascript jQuery在ul的第二个子级中不起作用,javascript,jquery,html,css,Javascript,Jquery,Html,Css,它可能是有线的,但我在:nth-child()上遇到了好几次问题,这次在jQuery上,我无法在li中选择第二个ul,最后到达 下面是简单的标题: <stle> .cool { color: red; } </style> <script> $(document).ready(function(){ $("ul:nth-child(2)>li>a").removeAttr("href"); });

它可能是有线的,但我在
:nth-child()
上遇到了好几次问题,这次在jQuery上,我无法在
li
中选择第二个
ul
,最后到达

下面是简单的标题:

<stle>
   .cool {
       color: red;
   }
</style>

<script>
   $(document).ready(function(){
      $("ul:nth-child(2)>li>a").removeAttr("href");
   });
</style>

.酷{
颜色:红色;
}
$(文档).ready(函数(){
$(“ul:nth child(2)>li>a”).removeAttr(“href”);
});
html代码(此处不应更改任何内容):

这是一个标题
  • 哈哈,这第二排
    • 哈哈,这一排
      • 哈哈,这第二排
      • 哈哈,这第三排
    • 哈哈,这第二排
    • 哈哈,这第三排
  • 哈哈,这第三排
这一行应该以正确的方式更改:

$(“ul:nth child(2)>li>a”).removeAttr(“href”)


在这里找到指向此问题的链接。

首先,您需要在
之前添加下一行,以包含jquery

而不是

$("ul:nth-child(2) > li>a")
演示

$(文档).ready(函数(){
$(“ul:nth child(2)>li>a”).removeAttr(“href”);
});
。酷{
颜色:红色;
}

这是一个标题
  • 哈哈,这第二排
    • 哈哈,这一排
      • 哈哈,这第二排
      • 哈哈,这第三排
    • 哈哈,这第二排
    • 哈哈,这第三排
  • 哈哈,这第三排

你的问题在于你的选择权。文档中的第一个
ul
与第n个子元素(2)
匹配,因为它是其父元素中的第二个元素

如果您想匹配
ul
内部的
li
(即嵌套的
ul
),您可以这样做:

$('li ul a').removeAttr('href')

顺便说一句,您的JSFIDLE不会按原样工作,因为您没有将jQuery声明为依赖项,所以
$
是未定义的

单击
按钮,将代码添加到a中,如果您设置了JSFIDLE更正-添加jQUery并使用“in HEAD”而不是“ON LOAD”很抱歉,我不明白您的意思,先生@Flamubeqiraj是的,
ul
不能是
ul
的直接后代。只有
li
可以是
ul
的子级。您需要将嵌套的
ul
嵌套在
li
中,并且您甚至不需要直接子选择器,您只需列出嵌套的ul/li结构@flamubeqiraj,然后检查demo@FlamurBeqiraj请参见编辑。您的JSFIDLE没有jQuery。@Flamubeqiraj太好了,请务必接受答案,以便其他用户知道您的问题已解决!
$("ul ul:nth-child(2) > li>a")
$("ul:nth-child(2) > li>a")
$('li ul a').removeAttr('href')