代码之家  ›  专栏  ›  技术社区  ›  Jay

当值包含空格时jquery不选择选项标记

  •  0
  • Jay  · 技术社区  · 15 年前

    当使用jquery选择contains/find时,是否需要以某种方式转义一个空格?

    我在模仿这个,所以请原谅打字错误… 如果我有一个选择标签有一些选项

    <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,我也期望2:

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

    我猜这和选择器有关,它正在寻找一个带有“b”的子元素,或者其他什么,但我不确定。

    2 回复  |  直到 15 年前
        1
  •  0
  •   Frank DeRosa    15 年前

    我在一个基本上没有其他内容的页面中测试了这段代码,它在所有浏览器中的find()函数上都返回2。也许您的代码中还有其他东西干扰您的结果?也许你把结果藏在某个地方,失去了对价值的跟踪,或者覆盖了它?

    或者你已经解决了问题。P

        2
  •  0
  •   Jay    15 年前

    很抱歉,我敲了几个小时的头,然后在代码的其他地方发现了一个bug,发布了这个bug,导致了这个问题,结束了这个问题。