我正在根据选择框中的选项值来搜索我的DOM。
“searchkey”可以是不同的东西,具体取决于用户输入的内容,例如:
由于引用,这些选项(在本例中为第一个)将破坏我的代码。是否有一种原生的jQuery方法来解决这个问题?
.uiDialog.find("#var_variantnew_options option[value='"+searchkey+"']")).html()
答案 0 :(得分:4)
您需要转义'
字符,如下所示:\'
这可以按如下方式自动完成:
"foo'bar'baz".replace(/'/g, "\\'"); // "foo\'bar\'baz"
完整的代码段将是:
.uiDialog.find("#var_variantnew_options option[value='" + searchkey.replace(/'/g, "\\'") + "']")).html()
答案 1 :(得分:2)
jQuery为您提供了几种执行相同操作的方法。当然,你可以像Mathias建议的那样逃脱,它的确有效。但有时候走一条不同的路线需要的时间更少。就像使用过滤功能一样:
.UiDialog.find("#var_variantnew_options option").filter(function () {
return this.value==searchkey;
}).html();
答案 2 :(得分:0)