簡體   English   中英

如何將querySelectorAll與變量一起使用?

[英]How to use querySelectorAll with a variable?

我有兩個互為替代的HTML元素,並且我試圖編寫一個JS函數,如果存在另一個,則將其刪除(它們源自TEI文檔中<choice><choice> <sic><corr>單詞) 。 在我的轉換中,它們都被分配了一個具有唯一前綴的代碼( 不是 @id@id是隨機生成的,必須保留以用於其他目的):

<a id="abc" choicePOS="sic0">Element1</a>
<a id="xyz" choicePOS="corr0">Element2</a>

在“屬於” Element1的JS函數中,我想選擇Element2以便將其刪除。 這是我嘗試過的( el是element1):

var choicePOS = el.getAttribute("choicePOS").slice(3); // produces 0
var corrID = "corr" + choicePOS; // produces corr0
var corr = document.querySelectorAll("a[choicePOS=corrID]");

這可能會失敗,大概是因為最后一行的corrID變量位於引號中,並且被視為字符串。 我已經閱讀了有關CSS選擇器的各種教程,但是找不到關於如何將它們與可變屬性值一起使用的指南。 這可能嗎? 如果是這樣,怎么辦? 如果沒有,還有其他選擇嗎?

編輯:有人建議將其他與如何在JS中將字符串與變量連接在一起的其他問題,作為此問題的重復。 為了澄清,我專門詢問querySelectorAll ,因為我找不到與變量一起使用的任何示例。 如果答案是將其選擇器視為任何其他JS字符串(即可以串聯變量),那么這是完全令人滿意的。

使用模板文字評估

var corr = document.querySelectorAll(`a[choicePOS=${corrID}]`);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM