jQuery querySelectorAll使用类以外的其他属性

时间:2019-01-15 20:54:48

标签: javascript jquery

我正在尝试使用以下代码查找具有指定名称的元素:

var x = document.querySelectorAll("input[name=" + data['res'] + "]");

问题在于,当

data['res'] 

包含包含空格的字符串,将显示以下错误:

  

SyntaxError:指定了无效或非法的字符串

4 个答案:

答案 0 :(得分:2)

尝试:

document.querySelectorAll("input[name=\"" + data['res'] + "\"]");

答案 1 :(得分:2)

您需要先引用该值:

var x = document.querySelectorAll(`input[name="` + data['res'] + `"]`);

答案 2 :(得分:2)

因为您没有引用该值

var x = document.querySelectorAll("input[name='" + data['res'] + "']");

如果您可以使用字符串文字,那么使用它是一个很好的用例。

var x = document.querySelectorAll(`input[name="${data['res']}"]`);

答案 3 :(得分:2)

尝试将值放在单引号中。如果您要这样做:

document.querySelectorAll("input[name=" + data['res'] + "]");
// let's say data['res'] = 'name with a space'
// value would be "input[name=name with a space]" -- invalid

由于缺少引号,您将获得无效的值。

您可以在“ name =“之后和“]”之前加上单引号:

document.querySelectorAll("input[name='" + data['res'] + "']");
// value would be "input[name='name with a space']" -- valid