2017-04-17 118 views
2

我目前在我的HTML中有一個div,最初是隱藏的(使用display:none)。禁用javascript時隱藏div顯示

<div class="fulladdress"> 
    <p>Only display the contents of this div when an element is clicked!</p> 
</div> 

然後我用下面的JavaScript,以便在單擊.autocompleteitem項目時,它顯示:

$(document).ready(function() { 

    $(document).on('click','.autocompleteitem:not(.autocompleteitemwithcontainer)',function(){ 
     $("div.fulladdress").show(); 
    }); 
}); 

然而,如果禁用JavaScript,完整的地址將永遠不會顯示。我該如何解決這個問題?

+1

您可以通過CSS屬性來隱藏/顯示內容。 – SimpleBeat

+0

**檢查這篇文章** [鏈接爲堆棧溢出後](http://stackoverflow.com/questions/121203/how-to-detect-if-javascript-is-disabled) – santhosh

+0

有人簡要地發佈了一個鏈接使用jQuery的'hide',我現在調整了我的代碼來代替它。使完美的感覺:) – michaelmcgurk

回答

0

你可以嘗試這樣的事情。

如果啓用javascript - 隱藏DIV的文件準備就緒,然後顯示在單擊事件

如果禁用JavaScript文檔準備功能不會執行,它不會隱藏在div

$(document).ready(function() { 
 
    $("div.fulladdress").hide(); 
 
    $("#button").on('click',function(){ 
 
     $("div.fulladdress").show(); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="fulladdress"> 
 
    <p>Only display the contents of this div when an element is clicked!</p> 
 
</div> 
 
<div class="button"> 
 
    <button id="button">display</button> 
 
</div>

+0

我明白' div'通過CSS隱藏,jQuery僅用於顯示它。所以真正的問題是如何在不使用JavaScript的情況下顯示CSS隱藏的'div'('display:none')。我也明白,如果JavaScript被禁用,顯示隱藏的'div'是不可接受的。最好隱藏然後顯示(但不能用JavaScript)。 – SimpleBeat

+0

在這種情況下,這是個訣竅。使css屬性顯示div,如果啓用javascript,然後在文檔就緒功能隱藏它或更改css屬性顯示:無。因此,如果javascript被禁用,它將顯示div – Dhiraj

+0

True,如果默認情況下(據我瞭解問題),如果JavaScript被禁用,則允許「div」可見。然而,即使JavaScript被禁用,作者仍然希望它被隱藏,並且如果用戶點擊'div',則切換。我相信沒有JavaScript可以做到這一點。 – SimpleBeat

3

也許嘗試使用標記<noscript>。如果javascript被禁用,它將運行其中的代碼。

+0

我已經考慮過了,但是如果我已經隱藏了CSS的'.fulladdress',它會顯示嗎? – michaelmcgurk

+0

不知道但我認爲你可以用'document.'顯示div,然後顯示選項,或者你可以在'

2

使用以下HTML代碼。現在用戶可以在用戶或設備禁用javaScript禁用javaScript時看到div。您可以通過在CSS上選擇.fulladdress類來自定義div。

<noscript> 
    <div class="fulladdress"> 
     <p>Only display the contents of this div when an element is clicked! 
     </p> 
    </div> 
</noscript> 
0

試試這個

<noscript> 
    <style type="text/css"> 
     .pagecontainer {display:none;} 
    </style> 
    <div class="noscriptmsg"> 
    You don't have javascript enabled. 
    </div> 
</noscript> 
0

如果您必須首先隱藏您的div,即使禁用了JavaScript並且只顯示了它,也有一些方法可以處理它。

希望這有助於!