使用JS定位类名迭代

我试图将JSON数据解析为类名“slide_content”的特定迭代

得到这样的东西:

slide_content[0] 

但是JS没有提供getElementByClass()选择器。

有问题的API数据在这里: 将Straight JS转换为JQuery

干杯! 迈尔斯

使用jQuery。 它允许您使用$('.someClass')来检索具有给定类名的所有元素。

如果由于某种原因你不能使用jQuery或其他JS库,只需使用jQuery也使用的Sizzle选择器引擎 – 它不是很多代码,所以你甚至可以将它复制并粘贴到你的项目的一个JS文件中(但不要这样做)那很难看:p)。 但是既然你用jquery标记了你的问题我假设你可以使用jQuery …

较新的浏览器(IE9及更高版本) 支持 document.getElementsByClassName (具有讽刺意味的是它支持的次数少于querySelectorAll ,但我离题了……),但这可能无法满足您的兼容性需求。 在这种情况下,您可以使用类似的东西来获取类的节点数组。

 var nodes = document.getElementsByTagName('*'), targetClass = 'myclass', result = []; for(var i = 0, l = nodes.length; i < l; i++){ if((nodes[i].className + ' ').indexOf(targetClass + ' ') !== -1){ result.push(nodes[i]); } } 

这与getElementsByClassName完全相同 ,因为该函数返回NodeList ,但它应该足够接近大多数用途。