【问题标题】:jQuery check if attr = valuejQuery 检查 attr = value
【发布时间】:2012-06-28 00:00:40
【问题描述】:

我的代码似乎有问题。我需要说:

if ( $('html').attr('lang').val() == 'fr-FR' ) {
    // do this
} else {
    // do that
}

当我检查控制台时,我收到一条错误消息,告诉我这不是函数。帮助将不胜感激。

谢谢,

【问题讨论】:

  • 你应该使用data()来处理这种事情。
  • 没有。 Html 确实有一个名为 lang 的属性。

标签: jquery conditional attr if-statement


【解决方案1】:

只需删除 .val()。喜欢:

if ( $('html').attr('lang') == 'fr-FR' ) {
    // do this
} else {
    // do that
}

【讨论】:

  • 你回复得很快,伙计,我要再等5分钟才能接受:)
  • 您经常想检查class 属性的值,但class attr 可以有多个用空格分隔的值,例如<div id="mydiv" class="one two three"></div>,因此在这种情况下您可以使用函数@ 987654325@ 检查像这样的值 $( "#mydiv" ).hasClass( "two" )
【解决方案2】:

jQuery 的attr 方法返回属性的值:

.attr() 方法仅获取匹配集中第一个元素的属性值。要单独获取每个元素的值,请使用循环构造,例如 jQuery 的 .each().map() 方法。

你只需要:

$('html').attr('lang') == 'fr-FR'

但是,您可能想要进行不区分大小写的匹配:

$('html').attr('lang').toLowerCase() === 'fr-fr'

jQuery 的val 方法返回表单元素的值。

.val()方法主要用于获取inputselecttextarea等表单元素的值。对于<select multiple="multiple"> 元素,.val() 方法返回一个包含每个选定选项的数组;如果未选择任何选项,则返回null

【讨论】:

  • 非常彻底,很好的回应。谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 2015-06-21
  • 1970-01-01
相关资源
最近更新 更多