Javascript 如何隐藏div映射,如果";p";标签是空的
如果Javascript 如何隐藏div映射,如果";p";标签是空的,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如果p-标记包含“我没有映射”,我需要隐藏一个div(.map\u toogle),否则(p-标记为空)我希望看到该div(.map\u toogle) 我有以下代码,但如果p-标记为空,它总是隐藏div $(document).ready(function () { if($(".right_block p:contains('I have no Map')")) { $('.map_icon').hide(); } if($(".right_block
p
-标记包含“我没有映射”,我需要隐藏一个div(.map\u toogle
),否则(p
-标记为空)我希望看到该div(.map\u toogle
)
我有以下代码,但如果p
-标记为空,它总是隐藏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");
}
});
这样就行了
if($('.right_block p').text()==="I have no Map") {
$('.map_icon').hide();
} else {
$('.map_icon').show();
}
您需要使用.text()获取内容,它将返回文本
if($('.right_block p').text()==="I have no Map") {
$('.map_icon').hide();
} else {
$('.map_icon').show();
}
您需要使用.text()获取内容,它将返回文本为什么不:
$(".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
为什么不:
$(".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检查,但可以通过这种方式减少它并检查长度:
$(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");
}
});
@丹尼尔:为什么要问这个问题?考虑到问题是用jQuery标记的,并且jQuery在OP的代码段中使用。我想要Jquary,请帮助。Thanks@Daniele94:为什么要问这个问题?考虑到问题是用jQuery标记的,并且jQuery在OP的代码段中使用。我想要Jquary,请帮助。谢谢你详细的回答,但我的命运不起作用。我接受了上面一个很好的答案。再次感谢你的详细回答,但我的命运不起作用。我接受了上面的答案,这个答案很有效。再次表示感谢