【问题标题】:jQuery attribute exists or not [duplicate]jQuery属性是否存在[重复]
【发布时间】:2017-04-17 06:52:24
【问题描述】:

如何在 jQuery 中找到选定项的某个属性是否存在?

例如,选定元素 jQuery('.button'),现在它可以有一个属性 'xyz'。我怎么知道它是否有?

【问题讨论】:

  • 请输入您目前尝试过的代码。请通过以下链接了解如何在 SO stackoverflow.com/help/how-to-ask 上提问
  • 感谢@rajesh,您提供了确切的链接,hasAttr 工作得很好。再次感谢;)

标签: javascript jquery


【解决方案1】:

您可以使用hasAttribute 方法:

// Attach the event to the button
$('button').on('click', function() {
  // This will refer the element from where event has originated
  if (this.hasAttribute("style")) {
    alert('yes')
  } else {
    alert('no')
  }

})

如果要使用jQuery库,可以直接在if条件下使用attr方法。

if($('#yourElement').attr('someProp')){}

或者,您也可以使用 jQuery is 选择器:

if ($(this).is('[style]')) {// rest of the code}

DEMO

【讨论】:

  • 我们真的应该回答一个骗子吗?
  • @Rajesh 为什么不呢? :) 更多好的答案不会受到伤害。
  • @dfsq 好的答案永远不会伤害,但分散的答案会。如果它是一个很好的答案并且没有发布在欺骗上,您应该关闭并在原始帖子上发布此答案。由于该帖子持续了很长时间,您将在评论中获得不同的选项和讨论,涵盖更多信息。
  • @dfsq 这可能会有所帮助:meta.stackexchange.com/a/10844/351737
  • @Rajesh 我对 SO 及其目的有不同的看法。人们只想要声誉,所以他们回答问题,重复更容易回答,所以为什么不呢。但无论如何。
【解决方案2】:

据我所知,您有两种解决方案。 1) 本机 Javascript 有一个函数用于此 .hasAttribute()(例如 $(this)[0].hasAttribute('name');)。 2) 使用jQuery,你可以检查$(this).attr('name')是否未定义。

【讨论】:

  • 请注意,重复回答是不好的做法。如果一个问题看起来非常基本或直截了当,那么很有可能,它以前被问过。您应该搜索此类帖子并将其链接分享为评论(直到您无权关闭,然后关闭自己
猜你喜欢
  • 2020-05-08
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 2010-11-22
  • 2011-11-29
  • 2011-09-28
  • 2013-11-28
  • 1970-01-01
相关资源
最近更新 更多