使用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
,但它应该足够接近大多数用途。