【问题标题】:How to check if href attribute is empty [duplicate]如何检查href属性是否为空[重复]
【发布时间】:2013-10-24 11:55:38
【问题描述】:

在我的标记中,我的 A 元素的 href 等于 "": <a href="">。当尝试使用类似 alert(jQuery('#my_href_link').attr('href')) 来显示它时,它返回 "undefined" 而不是空链或其他东西。

所以我到处找到的解决方案:

if (jQuery('#my_href_link').attr('href') == '') 

或

if (jQuery('#my_href_link').attr('href').length == 0)

...不工作。

然而,它们似乎对除我以外的所有人都有效。这是为什么?

标记:

<a id="my_href_link" href="">
    <img src="image.jpg">
</a>

【问题讨论】:

  • 你的html中是否存在href?显示你的 html..
  • 是的,它确实存在,我将在 Firebug 中看到的标记添加到我的问题中。

标签: jquery html


【解决方案1】:

利用 Javascript 变量的真假特性。在此 if 语句中,空字符串或未定义将导致条件评估为 false。

if (jQuery('#my_href_link').attr('href'))

您可以使用! 轻松否定此声明,因为以下 == true:

alert(!undefined);
alert(!"");

Read more about truthy and falsey

【讨论】:

  • 好的,我想发表相反的声明。我可以用“!”写同样的东西吗?就在“jQuery”之前?我刚试过,它似乎破坏了我的代码执行。
  • ! 应该可以工作。它是如何破坏你的代码执行的,你能提供一个例子吗?
  • 我的页面的JS代码很复杂,一定有什么错综复杂的地方。我会处理的,谢谢。
  • @drake035 确保您使用的编辑器能够突出显示语法错误,例如 Aptana。您还可以通过 jsonlint 运行您的 js,这将有助于检测语法错误。
猜你喜欢
  • 2021-11-17
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多