未捕获错误:语法错误,无法识别的表达式:输入[@type = submit]

时间:2016-05-12 09:09:37

标签: javascript requirejs r.js

我在一些注入了我的js插件的网站上遇到了这个例外,

但是有些人工作得很好,

我猜我错过了在插件dadasay.min.js

中添加一些js依赖项

但是,是否可能与其他图书馆发生冲突?

dadasay.min.js:11243 Uncaught Error: Syntax error, unrecognized expression: input[@type=submit]

源代码:http://dadasay.com/plugin/v1/js/dadasay.min.js

更新

http://dadasay.com/plugin/v1/js/dadasay.min.js中所需的js库似乎正在污染主机网站。我怎么能阻止我的插件污染主机网站? Cuz,有很多网站都会嵌入这个插件。

{
    name: "app.main.js",
    mainConfigFile: 'app.main.js',
    out: "../js/dadasay.min.js",
    optimize: 'none',
    preserveLicenseComments: false,
    wrap: true,
    paths: {
        jqLib: './jquery',
        requireLib: './require'
    },
    include: [ 'jqLib','requireLib', 'app.main' ],
    insertRequire: ["app.main"],
}

1 个答案:

答案 0 :(得分:1)

在您的错误中

  

未捕获错误:语法错误,无法识别的表达式:   输入[@类型=提交]

在此input[@type=提交]只需删除@并将'sumbit'引用添加到submit即可解决您的问题。

请注意,也需要引号。

See the API reference for the attribute equals selector.

Importnat注意:

在jQuery中删除了类似XPath的属性选择器。

见:

这是简单的Example

结论:

  

ID和NAME令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,数字([0-9]),连字符(" - "),   下划线(" _"),冒号(":")和句号("。")。

您必须remove @并将值赋予引用'value'