我正在使用直接放入HTML文件的SVG
<svg>
Contents...
</svg>
Run Code Online (Sandbox Code Playgroud)
使用javascript/jQuery我想向SVG添加一个属性
$("svg").attr("viewBox", "0 0 166 361");
Run Code Online (Sandbox Code Playgroud)
以下是运行上述脚本后修改的SVG
<svg viewbox="0 0 166 361">
Contents...
</svg>
Run Code Online (Sandbox Code Playgroud)
注意它放置viewbox而不是viewBox.由于viewbox(小写)没有做任何事我需要它是viewBox(camelcase)
有任何想法吗?
**更新**
我运行了一个小测试,我从服务器端渲染了viewBox属性,然后我运行了上面的脚本.你可以看到1.从服务器端渲染时,它很好.2. jQuery没有识别camelCase viewBox属性,并在所有小写字母中插入了另一个.
<svg version="1.1" id="Layer_1" x="0pt" y="0pt" width="332"
height="722" viewBox=" 0 0 100 100" viewbox="0 0 166 332">
...
</svg>
Run Code Online (Sandbox Code Playgroud)
Eri*_*ips 23
我可能依赖于您的编码文档类型. 对于所有HTML元素和属性名称,XHTML文档必须使用小写.我不确定HTML.
更新2
我能找到的唯一解决方案是使用:
$("svg")[0].setAttribute("viewBox", "0 0 166 361");
Run Code Online (Sandbox Code Playgroud)
更新
我无法解释它,我在自己的主机上测试,因为JsFiddle总是使用XHTML(嘘!).在所有情况下它都是小写的,但它仍然是FF,Chrome和IE9中的SVG元素(我不知道它们是否有效,因为我不知道SVG我害怕).

| 归档时间: |
|
| 查看次数: |
6260 次 |
| 最近记录: |