我svg在javascript中创建了一个元素,我需要设置一个区分大小写的属性:viewBox.
该元素的创建方式如下: var svgElem = document.createElement('svg');
问题是当它通过svgElem.setAttribute("viewBox", "0,0,100,100")DOM 设置该属性并附加到DOM时,结果元素显示如下:
<svg viewbox="0,0,100,100"></svg>
这不起作用,因为viewBox它区分大小写,如果字母B是小写的,它将不会产生任何影响.
IE只允许这样的情况使用IFlag参数,但是我的目标受众仅限于FireFox和Chrome用户,我没有找到IFlag setAttribute.
有没有一种方法可以在不使用innerHTML和无库javascript的情况下完成这项工作?
编辑:我也尝试使用点符号没有成功 svg.viewBox = "0,0,100,100"
是的,也有类似的问题,但是它们与jquery一样添加小写字母属性,如下所示:jQuery中的attr()是否强制小写字母?
但是我有不同的情况。这是我的HTML5代码段:
<tr class='projectRow' data-projectId='34'>
Run Code Online (Sandbox Code Playgroud)
请注意,这是camelCase。现在,此代码不起作用:
//"this" points to a child element
$id = $(this).closest('.projectRow').data('projectId');//undefined
Run Code Online (Sandbox Code Playgroud)
但是,如果我将其小写:
$(this).closest('.projectRow').data('projectid');
Run Code Online (Sandbox Code Playgroud)
有用。
当我查看源代码时,它显然是“ projectId”(camelCase),但是在chrome->开发工具->元素中时,则是“ projectid”(小写)o_O
难怪jQuery无法获得此值,但是Chrome为什么要这样做呢?我之前做过数百次类似的事情,虽然在“ project-id”中使用了-,但是经过了多年的Web应用程序开发,我发现了类似o_O的东西。