2017-03-16 104 views
0

我搜索了一些代碼,如何從一個樹菜單中刪除一個類名,以這種方式來阻止這種樹形菜單類型,並且可以使用正常的DIV框。換句話說,我的jQuery代碼本身添加了一個類,並且我想將它從某個div,以及該div的所有子項(子項,孫子項,盛大子項等...)中刪除。如何使用jQuery爲div元素的所有子元素移除類名?

(我把HTML,CSS,以及在YouTube上的教程jQuery的代碼:d)

我的HTML代碼是這樣的:

<div class="meniuArbore"> 
<div><p>Bucharest</p> 
    <div>Place 1 
     <div class="prezentare"> // from this on (inclusive), to don't have the tree menu style 
      <div class="prezentareBox1"> 
      </div> 
      <div class="prezentareBox2"> 
      </div> 
     </div> 
    </div> 
</div> 

我的CSS樣式像這樣:

.prezentare { 
    width: 153mm; 
    height: 40mm; 
    border: 0.5mm solid #000; 
} 

.meniuArbore { 
    padding-top: 10px; 

} 

.meniuArbore div { 
padding-left: 20px; 

} 

.meniuArbore .parinte div { 
display: none; 
cursor: default; 
} 

.meniuArbore .parinte { 
cursor:pointer; 
background:transparent url(http://www3.telus.net/jianlu58/plus.gif) no-repeat left 1.1mm; 
} 

.meniuArbore .extins { 
background:transparent url(http://www3.telus.net/jianlu58/minus.gif)no-repeat left 0.2mm; 
} 

而jQuery代碼:

/* Meniu tree */ 
$(function() { 
$('.meniuArbore div:has(div)').addClass('parinte'); 

// I added here the code from bellow, that I came up with ... 
$('.meniuArbore div').click(function() { 
var thistree = $(this); 
thistree.children('div').toggle(); 
thistree.filter('.parinte').toggleClass('extins'); 
return false; 
}); 
}); 

而且我覺得應該刪除類「parinte」波紋管類的「細節」的代碼是這樣的:

$('div:hasClass(prezentare)').removeClass('parent'); 
$('div:hasClass(prezentare)').find('*').removeClass('parent'); 

一些建議,請!我是jQuery的新手,但我覺得我非常接近。 :d

回答

1

所有你需要做的是要從孩子取出類名之前在選擇使用父名:

讓我們說你有一個ID容器父母與具有類名兒童「classYouWantToRemove」。你會這樣。

$( 「#集裝箱.classYouWantToRemove」)。removeClass( 「classYouWantToRemove」)

看看工作片斷看HTML和內嵌JQuery的工作。

#container .classYouWantToRemove { 
 
border: solid 1px red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="container"> 
 
<div class="classYouWantToRemove">Hey</div> 
 
<div class="classYouWantToRemove">Hey</div> 
 
<div class="classYouWantToRemove">Hey</div> 
 
<div class="classYouWantToRemove">Hey</div> 
 
<div class="classYouWantToRemove">Hey</div> 
 
<div class="classYouWantToRemove">Hey</div> 
 
<div class="classYouWantToRemove">Hey</div><div class="classYouWantToRemove">Hey</div> 
 
<div class="classYouWantToRemove">Hey</div> 
 
<div class="classYouWantToRemove">Hey</div> 
 
</div> 
 
<button id="removeAll" onclick='$("#container .classYouWantToRemove").removeClass("classYouWantToRemove")'>Remove classes</button>

+0

謝謝! :) 你沒有解決我的問題,但你給了我一個簡單的想法... :) 我直接把類名稱,我想在選擇標記,而不是'div:hasClass(演示)'代碼,就像這個: '$('。meniuArbore .presentation')。removeClass('parent'); ('。meniu Arbore .presentation div:has(div)')。removeClass('parent');' 現在,它的工作方式,我想要的! :) –

相關問題