相关疑难解决方法(0)

如何在javascript生成的元素中设置具有区分大小写的名称的属性

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"

html javascript svg

14
推荐指数
1
解决办法
2687
查看次数

HTML标签属性和jquery中的驼峰式案例-不起作用,为什么?

是的,也有类似的问题,但是它们与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的东西。

html javascript jquery

5
推荐指数
1
解决办法
4197
查看次数

标签 统计

html ×2

javascript ×2

jquery ×1

svg ×1