简体   繁体   English

使用 querySelector 根据两个条件得到 select,一个是前缀

[英]Use querySelector to get select based on two conditions, one being a prefix

So I am trying to select a div based on two conditions, one being a prefix.所以我试图 select 一个 div 基于两个条件,一个是前缀。

So if I have所以如果我有

<div class="bob delay-10"></div>
<div class="joe delay-20"></div>

I want to have我希望有

function getdelay (classname) {
    let delayselect = document.querySelector("*[class='"+classname+"'], *[class*='delay-']");
return delayselect;
}
getdelay("joe");

should return <div class="joe delay-20"></div>应该返回<div class="joe delay-20"></div>

Currently the way it is working is it is selecting OR not AND .目前它的工作方式是选择OR not AND

How can I fix this?我怎样才能解决这个问题?

Use an actual class selector ( . ) for the fixed class name part.对于固定的 class 名称部分,使用实际的 class 选择器 ( . )。

let delayselect = document.querySelector(`.${classname}[class*='delay-']`);

The backticks ("template literals") allow for simpler inclusion of expressions in strings.反引号(“模板文字”)允许更简单地在字符串中包含表达式。

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

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