根据之前的类别添加条形码多次

| 我有一个数字列表,我需要自动将它们每个都变成条形码。我可以更改第一个,但是更改后不能更改。我有一个jQuery条码生成器。我对此很陌生。请帮忙。
<table width=180 border=0 cellpadding=0 cellspacing=0>
  <tr> 
    <td class=\"barcode_needed\">10133</td>
  </tr>
  <tr> 
    <td class=\"barcode_needed\">20133</td>
  </tr>
  <tr> 
    <td class=\"barcode_needed\">30133</td>
  </tr>
</table>


<link rel=\"stylesheet\" type=\"text/css\" href=\"http://barcode-coder.com/css/style.css?ft=1298939919\" />
<script type=\"text/javascript\" src=\"http://barcode-coder.com/js/jquery-1.3.2.min.js\"></script>
<script type=\"text/javascript\" src=\"http://barcode-coder.com/js/jquery-ui-1.7.custom.min.js\"></script>
<script type=\"text/javascript\" src=\"http://barcode-coder.com/js/jquery-barcode-last.min.js\"></script>


<script>
  $(\"td.barcode_needed\").after(\"<div id=\'bcTarget1\'>\");
  $(\"#bcTarget1\").barcode((\'G\' + $(\"td.barcode_needed\").html()), \"code128\");
</script>
    
已邀请:
        您的问题是您要创建具有相同
id
属性的多个
<div>
元素。执行此操作时:
$(\"#bcTarget1\")
jQuery只会找到第一个,因此您只会得到一个条形码。您还通过插入ѭ1作为ѭ5的子元素来混合元素。 首先,修复您的HTML结构(包括重复的
id
属性):
$(\'td.barcode_needed\').append(\'<div class=\"bcTarget\">\');
这会将您的ѭ1放入ѭ9内(以便您的元素嵌套正确),并将
id
属性替换为
class
。 然后,通过参考下一个结构来固定条形码。
$(\'.bcTarget\').each(function() {
    var $this = $(this);
    $this.barcode(
        \'G\' + $this.closest(\'td.barcode_needed\').text(),
        \'code128\'
    );
});
closest
调用沿树查找与选择器匹配的最接近的祖先。您只可以在找到的表单元格上使用
text
,因为当您调用
.text
时刚添加的
<div>
仍然为空。 实时示例:http://jsfiddle.net/ambiguous/eaYTZ/ 您可能会想当然地使用样式。     

要回复问题请先登录注册