javascript - js代码获取动态生成的div ID

标签 javascript jquery html angularjs jspdf

我正在开发 java 和 angularjs 应用程序。 我有一个 html 页面,它迭代对象并在页面上显示值。

html代码:

<div id="{{value.pageIndex}}" ng-repeat="(key, value) in employees" class="myDivClass">
    <div>
         <h1><font color="red"> {{value.pageHeader}}</font></h1>
    </div>
    <div>
         <h1> {{value.pageIndex}}</h1>
    </div>
    <div>text from html page</div>
</div>

我不应该将上面的 html 代码包含在另一个 div 中,因为它会使我的应用程序中的其他场景失败。

我想在用户单击按钮时将上述 html 内容导出到 PDF,问题是当我尝试从 html 页面获取值时,如下面的 js 代码所示,仅导出第一个迭代数据,其中 as我希望将整个数据导出为 PDF。

js代码:

$scope.export = function() {
   var pdf = new jsPDF('landscape');
    source = $('.one1');
    pdf.addHTML(source, 0, 0, {
        pagesplit: true
    },function(dispose){
        pdf.save('test.pdf');
    });
}

以上场景的demo请看:https://plnkr.co/edit/6jNIu5c26ACeTPsfACX2?p=preview

关于如何将动态生成的 ID 传递给 js 代码并将整个 html 数据导出为 PDF 有什么建议吗?有什么方法可以将动态生成的 ID 传递给 js 代码并将整个数据导出为 PDF。

PS:我不应该将上面的 html 代码包含在另一个 div 中,因为它会使我的应用程序中的其他场景失败。

最佳答案

使用类 myDivClass 来获取数据,而不是使用 id 属性。

您可以使用 jQuery .each() 来获取所有数据。

将附加源 div 添加到 html

<body>
  <div ng-controller="listController">
        <button ng-click="export()">export</button>

   <div id="{{value.pageIndex}}" ng-repeat="(key, value) in employees" class="myDivClass">
    <div>  <h1><font color="red"> {{value.pageHeader}}</font></h1> </div>
    <div><h1> {{value.pageIndex}}</h1></div>
    <div>text from html page</div>
   </div>

  </div>
  <div id="append-source"></div>
</body>

使用这个 div 在 JavaScript 中创建 pdf

$scope.export = function() {
   var pdf = new jsPDF('landscape');
   var source = $('#append-source');
    $('.myDivClass').each(function(){
      var html = $(this);
      source.append(html);
    });
    console.log(source);
    pdf.addHTML(
          source, 0, 0, {
              pagesplit: true
          },
          function(dispose){
              pdf.save('test.pdf');
          }
      );
     }

关于javascript - js代码获取动态生成的div ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46990192/

相关文章:

javascript - 如何结合 with 和 eval 但不使用 with?

javascript - 可搜索的 Bootstrap 下拉菜单

javascript - 当第一个可观察值需要在第二个中时,如何在 angular2 中链接两个可观察值

jquery - Firebug - 动态加载的调试脚本

html - 如何在中心并排放置 2 个 iframe?

javascript - TypeError : otherStatus. 替换不是函数

javascript - Vue 传播事件到子元素

php - jquery ajax 不适用于数据字段

javascript - 在网页中显示(语法)树

jquery - 如何使用 jquery 在 <div> 中查找和替换图像?