2011-08-30 21 views
3

的第一次出现的我怎么能确定的第一次出现(0元),包含文本“没有错误”jQuery的 - 让选择

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

!编辑!!!

found it... 

if ($(xml).find('error').first().text() == 'No errors') 
+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'

要测试文本包含文本 '没有错误':

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

JS Fiddle demo

参考文献:

1

使用括号会给你DOM元素;你需要jQuery对象,所以你可以在其上使用.text()。测试相等:

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

为了测试遏制:

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

0

这应该工作:

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

变化:

  1. 使用first()获得第一个匹配元素的jQuery对象,而不是一个DOM对象
  2. 使用indexOf()上的文字,看看是否“没有错误”里面
  3. 比较为-1,看看它的存在
  4. 任何地方
0
if ($(xml).find('errors').eq(0).text() == 'No Errors') 
{ 
    do something 
}