我有一些简单的JavaScript来实现样式更改:
sel = document.getElementById('my_id');
sel.className = sel.className.replace(/item-[1-9]-selected/,'item-1-selected');
return false;
Run Code Online (Sandbox Code Playgroud)
这适用于最新版本的FF,Opera和IE,但在最新版本的Chrome和Safari上失败.
它会影响两个后代,这些后代恰好是兄弟姐妹.第一个兄弟更新,但第二个没有.第二个元素的子元素也具有焦点,并包含<a>标记,该标记在onclick属性中包含上述代码.
在Chrome"开发人员工具"窗口中,如果我轻推(例如取消选中并检查)任何元素的任何属性,则第二个兄弟会更新为正确的样式.
是否有一种解决方法可以轻松地以编程方式"轻推"WebKit做正确的事情?
我有一个类似于以下代码的HTML结构:
<div id='intro'>
<svg>
//draw some svg elements
<svg>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望能够使用javascript和DOM向上面定义的SVG添加一些元素.我怎么做到这一点?我在想
var svg1=document.getElementById('intro').getElementsByTagName('svg');
svg1[0].appendChild(element);//element like <line>, <circle>
Run Code Online (Sandbox Code Playgroud)
我对使用DOM不太熟悉,或者如何创建要传递给appendChild的元素,所以请帮我解决这个问题,或者告诉我还有什么其他选择来解决这个问题.非常感谢.