【问题标题】:jquery - get first occurence of selectionjquery - 获得第一次出现的选择
【发布时间】:2011-08-31 00:08:15
【问题描述】:

如何确定第一次出现(元素 0)是否包含文本“无错误”

if ($(xml).find('errors')[0].text() == 'No Errors') 
{
  do something
}

!!!编辑!!!

 found it...

 if ($(xml).find('error').first().text() == 'No errors') 

【问题讨论】:

  • 您的演示标记是什么样的?

标签: jquery selection


【解决方案1】:

使用[0] 会导致 JavaScript/jQuery 返回 DOM 节点,而不是 jQuery 对象,您可以尝试:

if ($(xml).find('.errors:first').text() == 'No Errors') 
{
  // do something
}

或者:

if ($(xml).find('.errors').eq(0).text() == 'No Errors') 
{
  // do something
}

这两个if 语句都要求文本,而不仅仅是包含,等于'No Errors'

测试文本包含文本'No Errors':

if ($(xml).find('.errors').eq(0).text().toLowerCase().indexOf('no errors') > -1) 
{
  // do something
}

JS Fiddle demo.

参考资料:

【讨论】:

    【解决方案2】:

    使用方括号将为您提供 DOM 元素;您需要 jQuery 对象,以便可以在其上使用 .text()。测试是否相等:

    if ($(xml).find('errors:first').text() == "No Errors")

    测试收容:

    if ($(xml).find('errors:first').text().indexOf("No Errors") > -1)

    【讨论】:

      【解决方案3】:

      这应该可行:

      if ($(xml).find('errors').first().text().indexOf('No Errors') != -1)
      {
        do something
      }
      

      变化:

      1. 使用first()获取第一个匹配元素的jQuery对象,而不是DOM对象
      2. 在文本上使用indexOf() 来查看里面是否有“No Errors”
      3. 与 -1 比较,看看它是否存在

      【讨论】:

        【解决方案4】:
        if ($(xml).find('errors').eq(0).text() == 'No Errors') 
        {
          do something
        }
        

        【讨论】:

          猜你喜欢
          • 2014-09-06
          • 1970-01-01
          • 1970-01-01
          • 2015-06-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多