我正在创建一个动态过滤器,这工作正常,但我有一个问题。我在querySelectorAll函数上选择所有过滤器并结合php get函数。不幸的是,一些动态内容有奇怪的名称,如:
(art) and more
使用拆分连接功能,将产生以下代码:
document.querySelector('#(art)_and_more');
这将导致错误,因为它不是有效的选择。有谁知道如何解决这个问题? 我想保留我的名字,因为它是一个大系统的一部分。
答案 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必须是唯一的。