问题描述
使用w3cvalidator检查我的网站时
While checking my site with w3cvalidator
它显示了此错误此时不允许在svg元素上使用属性data-ls ,并且 svg结束标记与当前打开的元素(使用)的名称不匹配.
it shows the this error Attribute data-ls not allowed on svg element at this point and End tag svg did not match the name of the current open element (use).
这是我使用的示例代码.
here is a sample code i used.
<svg class="ls-l" style="top:320px;left:30%;white-space: nowrap;"
data-ls="offsetxin:-15; offsetyin:10; delayin:6854; offsetxout:-15; offsetyout:10; durationout:500; showuntil:1000; easingout:easeInOutQuart; scalexin:0; scaleyin:0; scalexout:0; scaleyout:0;"
width="50" height="50" viewBox="0 0 64 64" >
<use xlink:href="#location-pin">
</svg>
谢谢....
推荐答案
数据属性对于svg并非严格有效,您可以使用getAttribute和setAttribute但可以使用html 数据属性API 不可用,因此出现警告.
data- attributes are not strictly valid for svg you can get and set them using getAttribute and setAttribute but the html data attribute API is not available, hence the warning.
通常的XML方式是声明一个自定义名称空间,然后在该名称空间中具有属性,例如具有xmlns:ls="<something appropriate for you>"
和ls:<something>="offsetxin..."
,然后使用getAttributeNS
The usual XML way would be to declare a custom namespace and then have the attribute in that namespace e.g. have a xmlns:ls="<something appropriate for you>"
and ls:<something>="offsetxin..."
and then access the data using getAttributeNS
<use>
问题是您没有关闭<use>
标记.您需要将其写为<use/>
或<use></use>
The <use>
issue is that you don't close the <use>
tag. You either need to write it as <use/>
or <use></use>
这篇关于此时,元素svg上不允许使用属性data-ls.如何纠正它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!