我有一個可以包含單引號和雙引號的變數。
使用這個變數,我想選擇一個屬性值等于該變數的元素。我使用 CSS 屬性選擇器來執行此操作,如下所示:
const cat = "Children's/Kids";
const div = document.querySelector(`[category='${cat}']`);
<div category="Children's/Kids"></div>
目前,如果變數包含單引號或雙引號,則不起作用,因為cat在選擇器中被單引號包裹,如果cat包含單引號,則最終選擇器結果將有一個未關閉的引號。
例如,上面例子中的選擇器將是[category='Children's/Kids'],DOMException因為它是一個無效的選擇器,所以會產生 a 。
如果它不包含引號,則它有效。
解決方案?謝謝
uj5u.com熱心網友回復:
您可以讓JSON.stringify處理為您轉義的報價:
const cat = "Children's/Kids";
const div = document.querySelector(`[category=${JSON.stringify(cat)}]`);
console.log('Selector:', `[category=${JSON.stringify(cat)}]`)
console.log('Element:', div)
<div category="Children's/Kids"></div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/318131.html
標籤:javascript html dom
上一篇:HTMLFigure標簽用法
下一篇:你好。為什么不應用“不顯示”
