我在foreach
循环中有一个div,用于在视图中显示内容
<div class="someclass" data-id="get_@item.GetYear">
<p> text1 </p>
<p> text2 </p>
<span class="otherClass embedIcon"></span>
</div>
我尝试使用
定位id属性$(".embedIcon")
.click(function () {
html2canvas($(this).data('data-id'),{
onrendered: function (canvas) {
var myImage = canvas.toDataURL("image/png", 1);
window.open(myImage);
}
});
});
当我点击应用embedIcon
类的图标生成图像时,我会得到迭代中所有div的图像。
当我点击div中的图标时,如何获取特定div的图像?
答案 0 :(得分:1)
您的ID在父div上,而不在embedIcon上,因此您可以使用2个选项
WHERE
或
var id = $(this).parent().data('id')
html2canvas(id, {
<强>更新强>
html2canvas接受元素作为第一个参数,而不是id,所以你只需要将父元素传递给你的html2canvas调用,你就不需要data-id。您可以使用var id = $(this).closest('.someclass').data('id')
html2canvas(id, {
或.parent()
.closest(".someclass")
答案 1 :(得分:0)
如果您使用的数据()应该是:
$(this).data('id');
如果使用attr()而不是它应该像:
$(this).attr('data-id');