2015-12-17 168 views
-3

我試圖注入一些jQuery的到我的瀏覽器刪除<a></a>
這裏是我的代碼刪除類和兒童

<div class="fc-event-container"> 
    <a class="fc-time-grid-event fc-v-event fc-event fc-start fc-end fc-draggable fc-resizable" 
    style="top: 0px; bottom: -463.05px; z-index: 1; left: 0%; right: 0%;"> 
    <div class="fc-content"> 
     <div class="fc-time" data-full="12:00 AM - 12:00 AM" data-start=" "> 
     <span> </span> 
     </div> 
     <div class="fc-title">26% discount</div> 
    </div> 
    <div class="fc-bg"></div> 
    <div class="fc-resizer fc-end-resizer"></div> 
    </a> 
</div> 

我想刪除<a> </a>,但我未能始終如一地做到這一點。例如,我已經嘗試了jQuery文檔中的不同apis。

$("a").removeClass("fc-time-grid-event fc-v-event fc-event fc-start fc-end fc-draggable fc-resizable"); 

("a").("fc-time-grid-event.fc-v-event.fc-event.fc-start.fc-end fc-draggable.fc-resizable").remove(); 

(.'fc-time-grid-event fc-v-event fc-event fc-start fc-end fc-draggable fc-resizable').remove(); 
+1

FullCalender可能在DOM準備好後的某段時間動態添加這些類 – adeneo

回答

3

這裏的一些信息是如何jQuery選擇工作:https://learn.jquery.com/using-jquery-core/selecting-elements/

你寫你要刪除的標籤,這將做到這一點:

$(".fc-event-container a").remove(); 

如果你想刪除的類:

$(".fc-event-container a").removeClass("fc-time-grid-event fc-v-event fc-event fc-start fc-end fc-draggable fc-resizable"); 

在評論還有另外一個要求:

Is there a way to remove the whole <a> based on the title seen 
here <div class="fc-title">26% discount</div>? I want to delete <a> 
when the title contains 26%. 
$(".fc-title:contains('26%')").closest('a').remove(); 
+0

他想從a標籤中刪除類,而不是標籤本身。 – AdamMcquiff

+1

在他提到的問題中:「我想刪除」。另一方面,他的代碼的確如你所說。 – user5542121

+1

啊是的。你是對的,看起來他的問題與自己相矛盾,正如他在第一行中所說的那樣「他想要刪除一個班級」,非常令人困惑...... – AdamMcquiff

0

你的語法是完全錯誤的。這是修正一個和它不工作,因爲它是不理智:

$("a").removeClass("fc-time-grid-event fc-v-event fc-event fc-start fc-end fc-draggable fc-resizable"); 
$("a.fc-time-grid-event.fc-v-event.fc-event.fc-start.fc-end fc-draggable.fc-resizable").remove(); 
$(".fc-time-grid-event.fc-v-event.fc-event.fc-start.fc-end.fc-draggable.fc-resizable").remove(); 

更新代碼,這大概可以工作:

$("a[class^='fc']").remove(); 
+2

仍然有錯誤...您測試了這個嗎?當代碼太冗長時,說一說你改變了什麼也是一個好主意 –

+2

即使代碼是「正確的」,它的功能也不是很好,首先從anchor標記中移除類,然後嘗試用jquery檢索它。 – user5542121

+0

@TrueBlueAussie是的,我做過。 –

1

如果你想刪除的<a>元素本身,那麼你應該使用remove()函數。

一種方法是將目標父div,然後刪除<a>元素。

$('.fc-event-container').find('a').remove(); 

在這裏,你的目標父格,那麼你正在使用find()函數查找<a>元素,那麼你就移除<a>元素。

您可以使用相同的方法刪除元素上的類。

$('.fc-event-container').find('a').removeClass('[class name]') 

您可以刪除一個類或多個類。

0

選擇元素存在問題。嘗試這個。

$(document).ready(function() { 
    $('.fc-event-container a').removeClass('fc-time-grid-event fc-v-event fc-event fc-start fc-end fc-draggable fc-resizable'); 
}); 

因爲你只有一次在.fc-event-container一個標籤,它應該是罰款。

另請參閱下面的例子。 https://jsfiddle.net/Ohsik/wrx4Lpr9/2/