Javascript ID上的QuerySelector(名称中带有花括号)
我正在创建一个动态过滤器,这是工作良好,但我有一个问题。我正在选择querySelectorAll函数和php get函数组合的所有过滤器。不幸的是,一些动态内容有奇怪的名称,如:Javascript ID上的QuerySelector(名称中带有花括号),javascript,php,html,Javascript,Php,Html,我正在创建一个动态过滤器,这是工作良好,但我有一个问题。我正在选择querySelectorAll函数和php get函数组合的所有过滤器。不幸的是,一些动态内容有奇怪的名称,如: (art) and more 对于拆分联接函数,这将产生以下代码: document.querySelector('#(art)_and_more'); 这将导致错误,因为它不是有效的选择。有人知道如何解决这个问题吗? 我想保留我的名字,因为它是一个大系统的一部分 如果它是一个ID,那么您应该使用getElem
(art) and more
对于拆分联接函数,这将产生以下代码:
document.querySelector('#(art)_and_more');
这将导致错误,因为它不是有效的选择。有人知道如何解决这个问题吗?
我想保留我的名字,因为它是一个大系统的一部分 如果它是一个ID,那么您应该使用getElementById
,因为根据定义只能有一个匹配项(ID必须是唯一的)
在一般情况下,您将使用带引号的属性选择器:
var list = document.querySelectorAll("[id='(art)_and_more']");
// or
var list = document.querySelectorAll('[id="(art)_and_more"]');
…但同样,ID必须是唯一的。如果它是一个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必须是唯一的。请在问题中也发布php get函数。php函数与此问题无关,它更多地是关于选择器,然后是get函数,而这部分工作正常。请在问题中也发布php get函数。php函数与此问题无关,这部分工作正常时,更多的是关于选择器,然后是get函数。getElementById工作正常。我觉得奇怪的是,它被接受为选择器,但在querySelector中却不是。无论如何,谢谢。@DennisSpierenburg-
getElementById
不需要选择器,它需要ID。所以一点也不奇怪。:-)foo
是一个ID。#foo
是IDfoo
的选择器。选择器有语法,可能很复杂;ID只是ID。getElementById工作正常。我觉得奇怪的是,它被接受为选择器,但在querySelector中却不是。无论如何,谢谢。@DennisSpierenburg-getElementById
不需要选择器,它需要ID。所以一点也不奇怪。:-)foo
是一个ID。#foo
是IDfoo
的选择器。选择器有语法,可能很复杂;ID就是ID。
var element = document.getElementById("(art)_and_more");