我正在使用名为OpenSeaDragon的非常酷的JavaScript / jQuery库。它用于显示深度缩放图像。它还有一种添加'叠加的方法,基本上创建一个div,并通过查看器对象将其放在带有坐标的图像上。还有一种删除叠加层的方法:https://openseadragon.github.io/docs/OpenSeadragon.Viewer.html#removeOverlay
viewer.removeOverlay(element or element id);
正如doc关于输入参数的说明:"对元素的引用或表示要删除的ovelay内容的元素id。"我正在创建一大堆叠加层 - 用矩形创建一个网格 - 所以我给了它们一个类。将课程传递给这种方法并不起作用。因此,我试图理解" element"的含义。有没有办法可以使用JQuery或JavaScript来选择"元素"并将其传递给方法?还是一些这样的事情?
感谢
答案 0 :(得分:3)
它通常表示文档中的元素,即DOM节点。所以,div
,或span
,或某些。
您可以非常轻松地使用jQuery选择元素:
var $obj = $('#elementId');
然后从jQuery对象中获取底层DOM节点:
var elm = $obj[0];
答案 1 :(得分:0)
谢谢大家。这是如何做到的:
var n = $(".gridcell").length
for(i=0; i<n; i++) {
viewer.removeOverlay($(".gridcell")[0]);
}
起初我虽然可以遍历数组,但是依次对每个项目索引调用removeOverlay()。这导致每次运行时删除一半覆盖。所以,对于16个叠加,我必须运行它4次。几分钟后,它点击了...每次你得到元素$(“。gridcell”),它返回一个新的数组。