我想獲得所有包含類menu-item-link
和mk-image-link
的元素。以下表達是否正確?獲取查詢選擇器全部多個條件
a[class*="menu-item-link"], a[class*="mk-image-link"]
沒有得到選擇,所以我想不:)
感謝您的幫助任何東西。
最好的問候, 安東
我想獲得所有包含類menu-item-link
和mk-image-link
的元素。以下表達是否正確?獲取查詢選擇器全部多個條件
a[class*="menu-item-link"], a[class*="mk-image-link"]
沒有得到選擇,所以我想不:)
感謝您的幫助任何東西。
最好的問候, 安東
你必須要做到這一點'a.menu-item-link, a.mk-image-link'
它會檢查是否有這個類。
const selected = document.querySelectorAll('a.menu-item-link, a.mk-image-link')
const selected2 = document.querySelectorAll('a.menu-item-link.js-smooth-scroll, a.mk-image-link.js-smooth-scroll')
console.log(selected)
console.log(selected2)
<div class="menu-item-link"><div>
<div><div>
<a class="menu-item-link"></a>
<a class="mk-image-link"></a>
<a class="mk-image-link menu-item-link"></a>
<a class="menu-item-link js-smooth-scroll" href="/superfood-rezepte/">SUPERFOOD REZEPTE</a> <a href="...." target="_self" class="mk-image-link">
Thanks @Maciej Kozieja:如果菜單項鍊接只是菜單項的一部分, item-link js-smooth-scroll'。所以我想選擇包含'menu-item-link'的everthing。我必須使用通配符嗎? – Toni2708
@ Toni2708給出問題html –
document.querySelectorAll
允許選擇器的分組。
請注意,它會選擇所有具有指定的class names
的元素,因此不需要通配符。即如果你的目標是menu-item-link
和mk-image-link
以下應該適合你。
所以,你可以嘗試以下:
var elements = document.querySelectorAll("a[class~='menu-item-link'], a[class~='mk-image-link']"); // OR
elements = document.querySelectorAll("a.menu-item-link, a.mk-image-link"); // Would both selects the same
elements.forEach(function(element, index, array) {
element.style.backgroundColor = "#999";
});
<a class="js menu-item-link js-smooth-scroll" href="/superfood-rezepte/">SUPERFOOD REZEPTE</a> <br>
<a class="js menu-item-link js-smooth-scroll-a" href="/superfood-rezepte/">SUPERFOOD </a> <br>
<br>
<a href="#" target="_self" class="mk-image-link">Something</a>
<br>
<a href="#" target="_self" class="mk-image-link1">Another Something</a>
<br>
<a href="#" target="_self" class="mk-image-link js-smooth-scroll-b">Another Something</a>
謝謝你現在工作! – Toni2708
有沒有辦法,你有選擇的字符串未返回任何元素。 (此外,是否有一個原因,你使用屬性選擇器,而不是像普通人類那樣選擇類選擇器? – BoltClock