[英]How to hide a div map if “p” tag is empty
如果p
標簽包含“我沒有地圖”,則需要隱藏div( .map_toogle
),否則( p
標簽是空的),我想顯示該div( .map_toogle
)。
我有以下代碼,但是如果p
-tag為空,它將始終隱藏該div
。
$(document).ready(function () {
if($(".right_block p:contains('I have no Map')")) {
$('.map_icon').hide();
}
if($(".right_block p:contains('I have no Map')")) {
$('.map_toogle').hide();
}
if($(".right_block p:contains('I have no Map')")) {
$('#camera_wrap_2').show();
}
if($('.right_block > p').is(':empty')) {
$('.map_toogle').css("display", "block");
}
if($('.right_block > p').is(':empty')) {
$('.map_toogle').css("display", "block");
}
});
為什么不:
$(".right_block p").text()!== 'I have no Map' ? $(".map_toggle").show() : $(".map_toggle").hide();
這是一個簡單的if / else語句,用於測試p
的文本是否顯式匹配字符串“ I have no Map”,並顯示/隱藏map div。
就是說,您可能希望將其擴展為常規的全脂聲明,因為您似乎還在執行其他一些操作:
if($(".right_block p").text()!== 'I have no Map'){
$(".map_toggle").show();
// other actions...
}else{
$(".map_toggle").hide();
// other actions...
}
通常,最好以盡可能適應的方式進行編碼,如果更改指示沒有地圖的文本該怎么辦? 因此,最好測試一下反函數 (只要您知道這根本不是文本),然后使用:
if($(".right_block p").text()){ // ....no text present
您可以通過多次if檢查來減少這種情況並檢查長度:
$(document).ready(function () {
if($(".right_block p:contains('I have no Map')").length !== 0) {
$('.map_icon, .map_toogle').hide();
$('#camera_wrap_2').show();
}
if($('.right_block > p').text().trim() === '') {
$('.map_toogle').css("display", "block");
}
});
這將解決問題
if($('.right_block p').text()==="I have no Map") {
$('.map_icon').hide();
} else {
$('.map_icon').show();
}
您需要使用.text()獲取內容,這將為您返回文本
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.