jquery - 首次出现选择

时间:2011-08-30 15:53:55

标签: jquery selection

如何确定首次出现(元素0)是否包含文本“No Errors”

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

!!!编辑!!!

 found it...

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

4 个答案:

答案 0 :(得分:6)

使用[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

参考文献:

答案 1 :(得分:1)

使用括号将为您提供DOM元素;你需要jQuery对象,所以你可以使用.text()。为了测试平等性:

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

测试遏制:

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

答案 2 :(得分:0)

这应该有效:

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

的变化:

  1. 使用first()获取第一个匹配元素的jQuery对象,而不是DOM对象
  2. 在文字上使用indexOf(),了解
  3. 内是否有“无错误”
  4. 与-1比较,看它是否存在

答案 3 :(得分:0)

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