如何将querySelectorAll与变量一起使用?

时间:2018-05-09 12:03:16

标签: javascript html css

我有两个HTML元素,它们是彼此的替代品,我正在尝试编写一个JS函数,如果另一个存在则删除一个(它们起源于<sic><corr>下面的单词{ {1}}在TEI文件中)。在我的转化过程中,他们都被分配了一个代码(一个<choice>@id是随机生成的,并且必须保留为其他用途)并带有唯一的前缀:

@id

在一个属于&#39;的JS功能中。到Element1,我想选择Element2以便删除它。这是我尝试过的(<a id="abc" choicePOS="sic0">Element1</a> <a id="xyz" choicePOS="corr0">Element2</a> 是element1):

el

这失败了,大概是因为最后一行中的var choicePOS = el.getAttribute("choicePOS").slice(3); // produces 0 var corrID = "corr" + choicePOS; // produces corr0 var corr = document.querySelectorAll("a[choicePOS=corrID]"); 变量在引号中并且被视为字符串。我已经阅读了有关CSS选择器的各种教程,并且无法找到有关如何将它们与变量属性值一起使用的任何指导。这可能吗?如果是这样,怎么样?如果没有,还有其他选择吗?

编辑:有关如何将字符串与JS中的变量连接起来的许多其他问题已被建议作为此重复。为了澄清,我特别询问corrID,因为我找不到任何与变量一起使用的例子。如果答案是将其选择器视为任何其他JS字符串(即变量可以连接在一起),那么这是完全令人满意的。

1 个答案:

答案 0 :(得分:1)

使用模板文字来评估

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