我知道您可以使用[name]完成此操作,但问题是,我的input name属性内部包含方括号[]:(

var thename = 'blah[blah][]'; // <- this value is dynamic
$("*[name='"+thename+"']").each()...

是否有其他方法可以通过名称字段选择此元素?

最佳答案

你必须逃离他们,你可以用regex替换

var thename = 'blah[blah][]'; // <- this value is dynamic
$("*[name='"+thename.replace(/\[/g, '\\\\[').replace(/\]/g, '\\\\]')+"']").each()...

或者做一个函数
function esc(a) { return a.replace(/\[/g, '\\\\[').replace(/\]/g, '\\\\]'); }
var thename = 'blah[blah][]'; // <- this value is dynamic
$("*[name='"+esc(thename)+"']").each()...

10-07 21:18