JQuery:如果另一个标记为空或不为空,则显示/隐藏html标记

JQuery:如果另一个标记为空或不为空,则显示/隐藏html标记,jquery,Jquery,这是我第一次在这里发帖,我有一个问题,我已经到处找了,到目前为止还找不到有效的答案 HTML格式如下: 标签: {{Value}} 基本上,{{Value}}是通过php/mysql插入(或不插入)的变量。当然,如果{{Value}为空,则在呈现页面时会得到以下结果: 标签: 这个想法是为了在{{Value}中没有任何内容时隐藏Label: 我使用$(.value:empty)&if语句尝试了各种示例,但它隐藏了.label 欢迎提出任何建议。 提前感谢, 罗伯试试看 if ($('.valu

这是我第一次在这里发帖,我有一个问题,我已经到处找了,到目前为止还找不到有效的答案

HTML格式如下:

标签:

{{Value}}

基本上,{{Value}}是通过php/mysql插入(或不插入)的变量。
当然,如果{{Value}为空,则在呈现页面时会得到以下结果:

标签:

这个想法是为了在{{Value}中没有任何内容时隐藏Label:

我使用$(.value:empty)&if语句尝试了各种示例,但它隐藏了.label

欢迎提出任何建议。
提前感谢,
罗伯

试试看

if ($('.value').text() == '') { $('.label').hide(); }

注:一个好主意是将.label.value对封装到某种类型的LI或DIV中

如果页面有多个.value/.label对,这会起作用吗?Rob,正如Thomas指出的那样,这只会在有一个值/标签对的情况下起作用-如果有一个.value span不是空的,则不会满足条件。html元素上是否有任何其他属性(id或其他东西)可用于标识它们?它们在DOM树中的什么位置?根据我自己的指示,trim($this)处理的是跨度中只有空格的情况?Thomas是的,我想这就是你原来的:空选择器不起作用的原因。非常感谢。我编辑了标记,以确保带有.label类的元素紧跟在.value之前(其间有其他标记导致它无法工作…),并且它可以正常工作。非常感谢duckyflip和所有回答的人。但是php语法允许您根据{{Value}}是否存在发出或不发出一行。如果您控制PHP,请考虑在服务器上使用IF语句,以便只为有效行发送标签。
$(".value").each(function(){
  var value = $.trim($(this).text())
  if(value == ""){
    $(this).prev(".label").hide()
  }
})