Javascript 将HTML类添加到由two.js控制的DOM元素

Javascript 将HTML类添加到由two.js控制的DOM元素,javascript,jquery,two.js,Javascript,Jquery,Two.js,我试图在这个项目中为特定的两个.js对象添加一个类和ID:(单击几次播放) 如果我在console.log中输入单词“background”,我会看到这是两个.js对象,但我似乎无法使用css或jquery向它们添加类/ID 感谢您的帮助 我甚至尝试将其添加到整个项目中,但没有成功: $(document.body).addClass("dropshadow"); 两个.js实体本身不是DOM元素,但每个场景、组或多边形至少包含一个对更改实体时绘制的DOM元素的引用。要引用各种DOM元素,请使

我试图在这个项目中为特定的两个.js对象添加一个类和ID:(单击几次播放) 如果我在console.log中输入单词“background”,我会看到这是两个.js对象,但我似乎无法使用css或jquery向它们添加类/ID

感谢您的帮助

我甚至尝试将其添加到整个项目中,但没有成功:

$(document.body).addClass("dropshadow");

两个.js实体本身不是DOM元素,但每个场景、组或多边形至少包含一个对更改实体时绘制的DOM元素的引用。要引用各种DOM元素,请使用以下语法:

// Initialize two.js and attach to a dom element referenced by `canvas`
var two = new Two(params).appendTo(canvas);

// Two.Scene
var my_scene = two.renderer.domElement;

// Two.Group
var my_group = document.getElementById(two.scene.id);

// Two.Polygon — requires knowing the ID by means of your custom app logic.
var my_poly  = document.getElementById(my_poly_html_id);
my_poly.classList.add('my-class');
下面是一个屏幕截图,显示了实际应用程序中的所有三个命令以及每个命令的结果,另外还有一个命令将类添加到目标形状中。最后一个命令的语法不同,但我省略了
var
语句,以便控制台显示结果,而不是输出
未定义的

如果要为单个形状创建自定义HTML id,请在初始渲染形状之前使用
.id
setter。由于此代码中的大部分只是设置。在该代码段中,一个
shape
变量包含一个
Two.Polygon
的新实例,因此在调用
Two.update()之前调用
shape.id='something unique'
首次绘制形状会产生一个具有自定义HTML ID的DOM元素。下面是一个不完整的设置代码块,显示了如何设置ID:

// Create new shape
var shape = two.makeRectangle(START_X, START_Y, START_WIDTH, START_HEIGHT);

// Set custom ID
shape.id = 'shape-' + Math.random(10000000);

// Draw shape for first time.
two.update();

如果你想让别人回答,在你的问题上加上一个。对你所面临的问题要有更多的描述。这个项目太棒了!干得好。天哪,谢谢@jonobr1-对你来说意味着很多!除了@Chris Ruppel所描述的之外,自从实例化一个新形状以来,还调用了once
two.update
。您可以直接引用元素:例如
shape.\u renderer.elem
。这是一个
SVG
元素,可以这样修改:
$(shape.\u renderer.elem).addClass('my-class')。快乐编码!