【问题标题】:jQuery - not working with input type searchjQuery - 不使用输入类型搜索
【发布时间】:2026-01-13 16:20:03
【问题描述】:

我有一个输入类型为search的字段

当我尝试使用 jQuery 选择它时,我得到 VM535 jquery-git.js:1529 Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: search

检查小提琴 - Fiddle

如何选择该字段? (注意:我没有为该字段应用任何唯一的类或 id,实际上它是插件生成的。)

实际上我正在使用jQuery DataTable 插件,我想在搜索框旁边添加一个Go按钮。为此,我正在尝试这种解决方法 - 选择 使用 jQuery 搜索框并使用 insertAfter 方法在其旁边添加按钮。如果还有其他方法,请建议我。

【问题讨论】:

    标签: javascript jquery html datatables


    【解决方案1】:

    在这种情况下,您可以使用属性选择器。试试这个:

    alert($('input[type="search"]').val());
    

    这里的工作示例:https://jsfiddle.net/ashishanexpert/dsye8b2x/1/

    【讨论】:

      【解决方案2】:

      input:search 不是有效的selector(not listed in Selectors section in the docs)

      使用Attribute Equals Selectorinput[type="search"]

      alert($('input:text').val());
      alert($('input[type="search"]').val())
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
      <input type="text" value="text">
      <br/>
      <input type="search" value="search">
      <br/>

      【讨论】:

      • 是的。那很快。谢谢。
      • @codeHeart,对于jQuery 开发人员来说,这将是一个很好的问题。如您所见,:text 有文档但:search 不见了
      • 啊太棒了!我正在查看 CSS 选择器,但在那里找不到:text。所以它的jQuery 特性。感谢您指出。
      【解决方案3】:

      你很亲密,这样做:alert($('input[type="search"]').val())

      【讨论】: