Javascript 如何检查元素名是否包含给定字符串
在下面的代码中,我正在检查这两个元素是否存在Javascript 如何检查元素名是否包含给定字符串,javascript,Javascript,在下面的代码中,我正在检查这两个元素是否存在 const var1 = form.elements[elemName1] || form.elements[elemName2] if(var1){ doSmth } 但我需要检查元素的名称是否包含某个字符串。 比如: 我试图在google bud中找到所需的语法,但没有成功。您可以使用(*=)和查询选择器(查找第一个)或查询选择器(获取匹配列表) 例如: const var1 = form.querySelector(
const var1 = form.elements[elemName1] ||
form.elements[elemName2]
if(var1){
doSmth
}
但我需要检查元素的名称是否包含某个字符串。
比如:
我试图在google bud中找到所需的语法,但没有成功。您可以使用(*=
)和查询选择器(查找第一个)或查询选择器(获取匹配列表)
例如:
const var1 = form.querySelector("[name*=foo]");
在表单
中查找其name
属性包含子字符串foo
的第一个元素。类似地,“开始于”有^=
,而“结束于”有$=
如果要检查两个不同的子字符串,请使用选择器组:
const var1 = form.querySelector("[name*=foo], [name*=bar]");
或两个电话:
const var1 = form.querySelector("[name*=foo]") || form.querySelector("[name*=bar]");
它们之间的区别在于,选择器组将按文档顺序找到匹配的第一个元素,无论它是foo
还是bar
元素。第二个将首先查找foo
元素,如果未找到foo
,则仅查找bar
元素。您可以使用(*=
)和querySelector
(查找第一个)或querySelector all
(获取匹配列表)
例如:
const var1 = form.querySelector("[name*=foo]");
在表单
中查找其name
属性包含子字符串foo
的第一个元素。类似地,“开始于”有^=
,而“结束于”有$=
如果要检查两个不同的子字符串,请使用选择器组:
const var1 = form.querySelector("[name*=foo], [name*=bar]");
或两个电话:
const var1 = form.querySelector("[name*=foo]") || form.querySelector("[name*=bar]");
它们之间的区别在于,选择器组将按文档顺序找到匹配的第一个元素,无论它是foo
还是bar
元素。第二个将首先查找foo
元素,如果没有找到foo
,则只查找bar
元素。我可以这样使用它吗:`const var1=form.querySelector([name*=${stringVar}
)`@coder-当然。该模板文本计算为字符串,这是querySelector
所期望的。如果stringVar
可能包含任何阻止其成为有效的内容(例如a
-Z
、0
-9
、-
和
),请务必将其放在引号中:form.querySelector(`[name*=“${stringVar}]”)
)。(假设您知道stringVar
中没有“
。:-))@Coder-很高兴这有帮助!顺便说一句,如果你想像上面那样在注释中添加反勾号,你可以在代码周围使用三个反勾号,而不是一个。例如,`
backtick[name*=${stringVar}]
)`@coder-当然。该模板文本计算为字符串,这是querySelector
所期望的。如果stringVar
可能包含任何阻止其成为有效文本的内容(例如除A
-Z
、0
-9
、-
、和
)之外的任何内容,请务必将其放在引号中:表单.querySelector(`[name*=“${stringVar}]”)
(假设您知道stringVar
中没有“`
backtick