簡體   English   中英

jQuery,如何選擇attr href目標隱藏

[英]jquery , how do i select attr href target hide

$('a.minimize').click(function() {
$($(this).attr('href')).hide();
});

<div class="drag" id="2">

<a href="#content" class="minimize" style="display: none;">2</a></p>
    <div id="content">1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br /></div>
</div>

我想通過設置a href =“”隱藏#content,為什么不起作用???

有什么錯嗎

至少對我來說,您的需求真的不清楚。 您得到的答案是正確的,因為如果您希望href屬性為空,則不要使用hide。 但是,這是我感到困惑的地方:

  1. 您已經為該<a>設置了display:none ,所以這根本不會出現。 那么,用戶如何單擊他們無法與之交互的內容?

  2. 您想在<a>被點擊后“隱藏”。 如果我不得不猜測您要么想要:

    一種。 用戶單擊鏈接后,使鏈接(顯示2)消失。 您希望用戶僅單擊一次鏈接,然后,該鏈接將變為無效鏈接,因為它沒有指向任何內容。

因此,假設我對您的用途有最模糊的了解,要使鏈接在點擊后消失,請遵循已經給出的建議

 $('a.minimize').click(function() {
      $(this).attr('href', ''); 
 });

如果您希望鏈接在點擊時消失,請執行以下操作:

 $('a.minimize').click(function() {
      $(this).hide(); 
 });  

還是我完全忘記了要點?

hide()不是在屬性上使用的正確函數。 它用於設置DOM元素的可見性。

嘗試以下方法:

$(this).attr('href', '');

.hide()是不同的。 你應該像這樣。

$(this).attr('attr','value here')

$($(本).attr( 'HREF', ''));

將錨定標記事件處理程序包含在文檔准備功能中。

$(function(){
    $('a.minimize').click(function() {
        $($(this).attr('href')).hide();
    });
});

好..從哪里開始..首先,如果您不顯示clickable元素,那將是行不通的。 因此您必須像這樣刪除style =“ display:none”:

<div class="drag" id="2">

<a href="#content" class="minimize" >2</a></p>
    <div id="content">1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br /></div>
</div>

第二。 如果您不添加腳本標簽,則javascript將永遠無法工作。 最后也是最重要的一點是,您不能在瀏覽器加載之前嘗試獲取元素a.minimize。 因此,您可以暫存或者在輸出元素的html之后執行腳本,或者使用元素jQuery(document)的ready事件安全地執行腳本。 所以這是工作代碼:

<script>

jQuery(document).ready(function(){
$('a.minimize').click(function() {

$($(this).attr('href')).hide();
});
});
</script>

<div class="drag" id="2">

<a href="#content" class="minimize" >2</a></p>
    <div id="content">1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br />1<br /></div>
</div>

如果我對您的理解正確,那么當您點擊類別為“最小化”的鏈接時,您想隱藏ID為“內容”的div。

這是正確的方法:

$("a.minimize").click(function() {
    $("#content").hide();
});

或者,如果您想在單擊鏈接時使用ID為“內容”的div切換狀態,請嘗試以下操作:

$("a.minimize").click(function() {
    $("#content").toggle();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM