繁体   English   中英

如何检查元素名称是否包含给定的字符串

[英]How to check if element name contains the given string

在下面的代码中,我正在检查这两个元素是否存在。

const var1 = form.elements[elemName1] ||
          form.elements[elemName2]

if(var1){
  doSmth
}

但我需要的是检查元素的名称是否包含某个字符串。 喜欢:

const var1 = form.elements[NameContains(givenString)] ||
          form.elements[NameContains(givenString)]

我试图在 google bud 中找到所需的语法没有成功。

您可以将属性包含选择器( *= ) 与querySelector (查找第一个)或querySelectorAll (获取匹配列表)一起使用。

例如:

const var1 = form.querySelector("[name*=foo]");

form查找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元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM