О каких классе, имени атрибута и значении идёт речь:
const className = 'element';
const attrName = 'data-attr';
const attrValue = 'this-element';
Если больше заранее ничего не известно, то собираем селектор и получаем элемент:
const elem = document.querySelector(`.${className}[${attrName}="${attrValue}"]`);
Если же вдруг уже была получена коллекция элементов с указанным классом...
const elems = document.getElementsByClassName(className);
// или
const elems = document.querySelectorAll('.' + className);
...то имеет смысл поискать в ней вместо всей страницы:
const elem = Array.prototype.find.call(
elems,
n => n.getAttribute(attrName) === attrValue
);
// или
let elem = null;
for (const n of elems) {
if ((n.attributes[attrName] || {}).value === attrValue) {
elem = n;
break;
}
}
// или
let elem = null;
for (let i = 0; !elem && i < elems.length; i++) {
elem = elems[i].matches(`[${attrName}="${attrValue}"]`) ? elems[i] : elem;
}