2017-02-22 135 views
0

我試圖選擇嵌套的HTML元素與jQuery選擇嵌套的DOM元素

<div id="myTabContent" class="tab-content"> 
    <div role="tabpanel" class="tab-pane fade in active" id="home"> 
    <div class="events_box"> 
     <div class="event_left"> 
     <div class="event_left-item"> 
      <div class="icon_2"> 
      <i class="fa fa-clock-o" id="programHoursId0"></i> 
      </div> 
      <div class="icon_2"> 
      <i class="fa fa-location-arrow" id="programLocationId0"></i> 
      </div> 

我有選擇的類fa fa-clock-ofa fa-location-arrow。我可以通過ID選擇它們,但我希望按類別選擇它們。 我已經試過類似的組合:

$('div div div .fa fa-clock-o').css('visibility', 'hidden'); 

和:

$('.event_left .event_left-item .icon_2 .fa fa-clock-o').css('visibility', 'hidden'); 

和:

$('div.fa fa-clock-o').css('visibility', 'hidden'); 

隨着更多....

的目標是隱藏那些FontAwesome圖標。

+1

你缺少你選擇'.fa-時鐘O' –

+0

'$(」點元素FA- clock-o')。hide()' – j08691

回答

1

由於fafa-clock-o是你不能有選擇或jQuery的(或類似querySelector任何替代)它們之間的空間會認爲一個在相同的元素類是其他的後裔。試試這個:

$('.fa.fa-clock-o') 
// ^^^ 

div.fa fa-clock-o:尋找類型fa-clock-o(標籤)的任何後代一個div具有類fa =>選擇無關,因爲沒有標籤fa-clock-o的。

div.fa .fa-clock-o:尋找與該類fa-clock-o是一個div的後裔與類fa =>將匹配你想要的任何元素。

.fa.fa-clock-o:尋找那些具有類fafa-clock-o =>匹配你想要的東西太

+0

應該是'$('i.fa.fa-clock-o')'或'$('div .fa.fa-clock-o')'。 'div'元素是父元素。 。 。 'i'元素上有「fa」類。 – talemyn

+0

也可以。 ;) – talemyn

+1

@talemyn是啊我在編輯你的評論時!在你編輯完代碼和代碼後,我注意到我有這個錯誤! –

0

請試試這個$('.fa').hide();

+1

哇快速響應! @artemisian .fa隱藏了所有以fa開頭的元素。很好的猜測。我會接受@ibrahim mahrir提供的答案,因爲他對fa和fa-clock-o是正確的分類。選擇器是$('。fa-clock-o')。 – NDym

+0

嗨@NDym,這不是一個猜測,在你的回答中你提到'我必須選擇fa fa-clock-o和fa fa-location-arrow.'這樣的類,並且'目標是隱藏那些FontAwesome圖標'以便類選擇器將選擇所有這些FontAwesome圖標。 – artemisian