ID上的QuerySelector,名称中带有大括号

时间:2018-05-17 10:12:06

标签: javascript php html

我正在创建一个动态过滤器,这工作正常,但我有一个问题。我在querySelectorAll函数上选择所有过滤器并结合php get函数。不幸的是,一些动态内容有奇怪的名称,如:

 (art) and more

使用拆分连接功能,将产生以下代码:

document.querySelector('#(art)_and_more');

这将导致错误,因为它不是有效的选择。有谁知道如何解决这个问题? 我想保留我的名字,因为它是一个大系统的一部分。

1 个答案:

答案 0 :(得分:1)

如果是 ID ,则您使用getElementById,因为根据定义,只能有一个匹配(ID 必须是唯一的)。

var element = document.getElementById("(art)_and_more");

在一般情况下,您使用带引号的属性选择器:

var list = document.querySelectorAll("[id='(art)_and_more']");
// or
var list = document.querySelectorAll('[id="(art)_and_more"]');

...但同样,ID必须是唯一的。