希望我的问题是达到标准(我整个上午都在研究这个,所以我希望我是不够彻底)getElementsByClassName方法及... ByTagName,<path>和<svg>,使用的onclick =“”改变风格
我学习所有这个新的html5,所以我可以使用一些Javascript来使用SVG,<canvas>
和CSS3制作交互式绘图。我试图摆脱我曾经做过的丑陋和多余的功能,并且很好地整理了我的编码。
我在为一个<button>
的onclick事件创建javascript的问题,以改变包含SVG中所有路径的类的样式,使用document.getElementsByClassName
。 我已经与document.getElementById
一起工作,但我想一次影响多条路径,而不必浪费大量的线路将完整的数百个ID抓取到一个var或类似的东西。
这是我的代码到目前为止,第一个按钮的作品,接下来的两个是我遇到了麻烦。
<head>
<style>
.pathclass {
fill:none;
stroke:#ffffff;
stroke-width:4; }
</style></head>
<body>
<button onclick="document.getElementById('pathId').style.stroke = '#000000';" />
<br />
<button onclick="document.getElementsByClassName('pathClass').style.stroke = '#000000';" />
<br />
<button onclick="document.getElementsByTagName('path').style.stroke = '#000000';" />
<svg><g><path id="pathId" class="pathclass" /></g></svg>
接下来,我想这样做document.getElementsByClassName
它返回一个节点列表设置classNames
automatcally使用的东西都喜欢document.getElementsTagName('path').className = 'pathclass'
document.querySelector and document.querySelectorAll – Geuis 2013-03-21 18:32:01
感谢Geuis。我查看了它,但它表示它只返回匹配选择器的第一个单个元素。我正在寻找一种方法来一次选择具有相同类的所有元素。 – user2196381 2013-03-21 18:41:27
@Geuis的功能类似于@ Duopixel的答案中提到的'd3.selectAll'吗? – user2196381 2013-03-21 19:15:04