[英]Passing dynamic class name to JavaScript function
我在foreach
循环中有一个div,用于在视图中显示内容
<div class="someclass" data-id="get_@item.GetYear">
<p> text1 </p>
<p> text2 </p>
<span class="otherClass embedIcon"></span>
</div>
我正在尝试使用
$(".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的图像?
您的ID位于父div上,而不是embedIcon上,因此您可以使用2个选项
var id = $(this).parent().data('id')
html2canvas(id, {
要么
var id = $(this).closest('.someclass').data('id')
html2canvas(id, {
更新:
html2canvas接受元素作为第一个参数,而不是id,因此您只需要将父级传递给html2canvas调用,就不需要data-id。 您可以使用.parent()
或.closest(".someclass")
$(".embedIcon")
.click(function () {
html2canvas($(this).parent(),{
onrendered: function (canvas) {
var myImage = canvas.toDataURL("image/png", 1);
window.open(myImage);
}
});
});
如果您使用data(),则它应该像这样:
$(this).data('id');
如果使用attr(),它应该像这样:
$(this).attr('data-id');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.