我有两个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字符串(即变量可以连接在一起),那么这是完全令人满意的。
答案 0 :(得分:1)
使用模板文字来评估
var corr = document.querySelectorAll(`a[choicePOS=${corrID}]`);