Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查元素名是否包含给定字符串_Javascript - Fatal编程技术网

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