2009-11-05 84 views
0

当我使用jquery选择contains/find时,是否需要以某种方式转义空间?当值包含空间时,jquery不选择选项标记

我嘲笑他了这么原谅错别字...... 如果我有了一些选项

<select title="animals"> 
<option value="Dog Black">Dog Black</option> 
<option value="Cat Black">Cat Black</option> 
<option value="Dog Brown">Dog Brown</option> 
</select> 

我试图找到这个选择使用jQuery的选项SELECT标记。但当传递给搜索的值包含空格时,似乎“find”方法或“contains”函数失败。例如:

下收益的大小为2:

$('*[title="animals"]').find("option:contains('Dog')").size() 

但这返回0 whre我预计2以及:

$('*[title="animals"]').find("option:contains('Dog B')").size() 

我的猜测是,这事做与选择器,它正在寻找一个“B”或什么的儿童元素,但林不太确定。

+0

是1.2.6版本的jQuery的一个bug,在1.3.2 workgin细...对不起:) – Jay 2009-11-05 20:23:14

+0

我有一个类似的问题。我在下拉列表中混合了文本/值和空格。在改变选择时,使用JavaScript/jQuery可以正确地检索非空格值,但是如果值有空格,它将返回列表中的第一个值,甚至所选的索引也是0.本文还讨论了同样的问题 - http ://www.neowin.net/forum/topic/748140-jquery-custom-selectbox-not-passing-value-with-spaces/ – 2012-04-19 06:04:20

+0

是的,它似乎是一个错误。我找到了一个解决方案,并将其添加到指定网站。 – 2012-04-19 13:35:59

回答

0

我在一个页面中测试了这个确切的代码基本上没有别的吧,它在所有浏览器的find()函数中返回2。您的代码中可能还有其他内容会干扰您的结果?也许你在某个地方隐藏了结果并丢失了价值的轨迹,或者覆盖了它?

或者你可能已经找到了问题。 :P

+0

感谢您的测试这是jquery的1.2.6版本中的一个错误。 1.3.2工作正常。我给你帮助的信贷:) – Jay 2009-11-05 22:17:29

0

对不起敲我的头几个小时后,我发现AA的bug其他地方在代码发布之后引起的问题,关闭了这一点