在<ul>问题中禁用"<a>"链接

use*_*831 4 html javascript jquery

基本上我有一个嵌套列表的HTML代码块,如下所示:

<ul>       
  <li class="level_1">
    <a href="level1.html">Insulated And Extruded</a>
    <ul class="level_2">
      <li><a href="">TE77</a></li>
      <li><a href="">TE78</a></li>
      <li><a href="">T77</a></li>
      <li><a href="">TS77</a></li>
    </ul>
  </li>
  <li class="level_1"><a href="">Grille Type Rolling</a></li>
  <li class="level_1"><a href="">PVC High Speed Doors</a></li>
  <li class="level_1"><a href="">Swinging doors</a></li>
</ul> 
Run Code Online (Sandbox Code Playgroud)

使用这个我需要做的是,我想检查li.level_1有一个<ul>,如果是这样,那么我需要禁用<a>直接在里面的链接链接li.level_1.

这就是我在jquery中尝试它的方法,但它a从列表中删除了所有内容.

if($('ul li').has('ul').length) {
  $('ul li > a').removeAttr('href'); 
}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何解决这个问题?

Nen*_*car 6

您可以检查是否li有这样的ul禁用a.

$('.level_1:has(ul) > a').removeAttr('href')
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>       
  <li class="level_1">
    <a href="level1.html">Insulated And Extruded</a>
    <ul class="level_2">
      <li><a href="">TE77</a></li>
      <li><a href="">TE78</a></li>
      <li><a href="">T77</a></li>
      <li><a href="">TS77</a></li>
    </ul>
  </li>
  <li class="level_1"><a href="">Grille Type Rolling</a></li>
  <li class="level_1"><a href="">PVC High Speed Doors</a></li>
  <li class="level_1"><a href="">Swinging doors</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)