在运行Javascript时区分具有相同类或ID的多个div的方法

时间:2017-02-23 23:31:30

标签: javascript html

我正在为发票上的[id]生成二维码。

现在我在每个地方都有一个javascript,可以运行qr代码并生成代码。

<script type="text/javascript">

    function makeCode (data,width) {    
var qrcode = new QRCode(document.getElementById(data), {
    width : width,
    height : width
});

    var length = (data).length;

        if (length===10) {qrcode.makeCode("10" + data);}
        else {qrcode.makeCode(data);}
}
</script>
<div id="[id]"></div><script>makeCode("[id]","50")</script>

我必须使用[id]作为&#34; id&#34; div是我获得该项目的唯一动态内容。

问题在于,当我有多个具有相同[id]的项目时,javascript当然会将所有QR码堆叠到具有该ID的第一个<div>中。

有没有办法让javascript知道它是从第三个DIV(作为示例)运行,然后将代码放入第三个DIV,而不是第一个。

我知道你不应该有多个具有相同ID元素的div。这个问题的一部分,我试图让它们与众不同,但我不知道如何。

我添加了一个jfiddle,因此您可以更清楚地看到问题。

https://jsfiddle.net/nmteaco/x57o9pko/3/

1 个答案:

答案 0 :(得分:0)

如上所述,您当前网站逻辑中的一些内容需要调整为更具动态性。

首先,应该有一个代表购物车的table,并且在该购物车内,您可以拥有多个rows项用于生成QRcode。每个相同的id都可以有一个索引标志1..2..3 ..

我已经演示了如何通过更改html结构来修复问题。

Demo

让我知道你的想法。