2013-12-22 37 views
-5

我在杜蘭達爾項目中工作。 我有在html中的跨度和按鈕元素。 我想顯示按鈕點擊的範圍。 我的問題是,當我從html中隱藏span時,它無法從javascript中顯示它。 我在您的網站(鏈接change visibility of label tag using jquery)看到了這個問題,我嘗試了所有的答案 - 任何幫助我。使用jquery更改跨度的可見性

(我嘗試使用: 在HTML:

<span id="mySpan" hidden = "hidden">aaa</span> 

或:

<span id="mySpan" style= "visibility:collapse">aaa</span> 

或:

<span id="mySpan" style= "diaplay:none">aaa</span> 

在javascript:

$("#mySpan").show(); 

或:

$("#mySpan").css('visibility', 'visible'); 

我嘗試了所有的可選組合 )的

注:我想讓你知道,當我沒有從HTML隱藏跨度,並嘗試使用toggle()hide(),show() - 它運作良好。 html頁面

上:JavaScript頁面

<span id="mySpan" hidden = "hidden">aaa</span> 

上:

是不行

例如

$("#mySpan").show(); 
+1

固定'樣式'值首先('可見'應該是'知名度','顯示'應該''顯示')。另外,'id's只能使用一次。將它們改爲'class',並使用'$(「。mySpan」)'選擇它們。 –

+0

您的HTML無效(即使假設您顯示了三個不同的示例(因爲'id'必須是唯一的),span元素的結束標記是必需的,隱藏的屬性不存在,'display'不拼寫'diaplay',沒有'visible'屬性),並且沒有提供內容或樣式來判斷跨度是否可見。我們也看不到如何(更重要的是*當*)運行JS時。 **請提供一個*完整的*減少的測試用例,實際上證明了這個問題。** – Quentin

+0

ho ...它只是寫錯誤!你必須自己明白,在我的項目中,我寫得很對。還有一些元素的ID相同,它是一個元素,我給你寫了,他們都是我嘗試過的語法,而不是我的代碼中的某一行。請您在閱讀問題之前先不要投票。如果你能回到我的名聲,我會很高興。 – user2783091

回答

0

似乎是在 「diaplay」 的錯誤?嘗試改變:

<span id="mySpan" style="diaplay:none"/>

到:

<span id="mySpan" style="display:none"/>

+0

問題說問題揭示使用JS(跨度即它是保存隱藏)。這顯然是問題的一個問題,而不是問題提出的代碼。 – Quentin

12

你的HTML也不行!

請記住,跨度關閉<span></span>這種方式,而不是你關閉他們的方式!這樣,只有自我封閉的元素,如:input,img等已關閉!

嘗試寫這樣的:

<span id="mySpan">Some text!</span> 

的CSS將是:

#mySpan { 
    display: none; // you're using diaplay! 
} 

現在使用jQuery選擇使用此:

$('#mySpan').show() 

或者這樣:

$('#mySpan').css('display', 'block'); 
+0

然後問題是'diaplay'改變它。你的代碼將工作:) –

+0

聽着,你看不到空的物體!跨度中沒有任何東西。一旦添加了一些內容,您將能夠看到跨度! -_- –

5

那麼,你的代碼都是錯誤的。

  • id屬性應該每頁只能使用一次。這意味着它是獨一無二的,因此您可以將它作爲文檔中的一個單獨的一點。您應該將其更改爲class="mySpan",然後使用$(".mySpan")進行選擇。

  • visible:collapse無效的CSS。你可能打算使用visibility,是嗎?

  • diaplay:none也是無效的CSS。可能是display的錯字,是嗎?

  • 最新的HTML規範中有一個hidden屬性(通常稱爲HTML5)。我不確定你是否意識到這一點;如果你是,你要使用它,那麼你應該把下面的CSS文件中,使其作品在尚未實現它的瀏覽器:

    *[hidden] { 
        display: none; 
    } 
    

後續:

好的,你希望能夠通過點擊一個按鈕來打開和關閉跨度。這將做到這一點:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<button id="myButton">Show/hide the span</button><br> 
<span id="mySpan" style="display:none">This is a span with some text in it</span> 
<script> 
$(function() { 
    $("#myButton").click(function() { 
     $("#mySpan").toggle(); 
    }); 
}); 
</script>