Javascript jQuery addClass不处理数组中的元素

Javascript jQuery addClass不处理数组中的元素,javascript,jquery,vivagraphjs,Javascript,Jquery,Vivagraphjs,我有一个DOM元素数组,我试图遍历它们并使用jQuery添加一个类,但是jQuery似乎没有使用addClass方法设置类。但是,attr函数仍然有效。我做错了什么 这是我从控制台得到的结果 看,我认为这是8317的原因: elem.className=最终值 看到SVG元素没有这个属性,类将不会被设置,或者-特定的行仍然会运行,它只是不做任何事情 更多信息请参见评论 当eithedog击败我发布时,jQuery使用element.className。问题在于SVG元素将element.clas

我有一个DOM元素数组,我试图遍历它们并使用jQuery添加一个类,但是jQuery似乎没有使用addClass方法设置类。但是,attr函数仍然有效。我做错了什么

这是我从控制台得到的结果

看,我认为这是8317的原因:

elem.className=最终值

看到SVG元素没有这个属性,类将不会被设置,或者-特定的行仍然会运行,它只是不做任何事情


更多信息请参见评论

当eithedog击败我发布时,jQuery使用element.className。问题在于SVG元素将element.className值视为只读,这意味着jQuery设置类的尝试没有任何作用:

if ( elem.className !== finalValue ) {
    elem.className = finalValue;
}

RECT元素实现SVGRectElement接口:

interface SVGRectElement : SVGElement,
                           SVGTests,
                           SVGLangSpace,
                           SVGExternalResourcesRequired,
                           SVGStylable,
                           SVGTransformable {
  readonly attribute SVGAnimatedLength x;
  readonly attribute SVGAnimatedLength y;
  readonly attribute SVGAnimatedLength width;
  readonly attribute SVGAnimatedLength height;
  readonly attribute SVGAnimatedLength rx;
  readonly attribute SVGAnimatedLength ry;
};
SVGRectElement实现SVGStylable,其中包括以下小贴士:

className (readonly SVGAnimatedString)

请参见

让我们先不要在问题中发布实际代码,并提供一个示例来演示。因为它是一个svg元素,所以不能像处理DOM元素一样处理它。我不相信SVG在技术上是dom中的,相反,它们是当前文档的子文档,具有自己的名称空间等等。@JaredFarrish抱歉,无法找到在CDN上获取Vivagraph代码的方法。问题更新比较使用svg和html元素调用.className和.getAttribute的结果:我猜想jQuery不支持或不理解来自rect.className的替代svg响应。这只是处理svg元素的另一种方法:使用svg.setAttribute和svg.getAttribute。还要注意,您可以使用JSFIDLE将包含添加到头部。这里有一个更好的链接:另外,关于svg元素的语句没有此属性,它们的操作方式不同,例如,className readonly SVGAnimatedString。@JaredFarrish噢,我确信该属性不存在-per。说得好!您可能正在寻找的是,哪些引用,这解释了标准中的element.className。@JaredFarrish nah-几年前更多的是在SVG元素上设置属性,并记住类的问题,同时在第一个引用链接(即mozilla)中检查引用,大多数时候倾向于正确;
className (readonly SVGAnimatedString)