无法访问属性

时间:2014-07-28 17:46:27

标签: javascript jquery html svg internet-explorer-11

我在使用jQuery attr命令修改HTML元素的属性时遇到问题。我有一个脚本插入一个SVG元素与一个具有属性stdDeviation的子元素。您可以看到D字母大写

当我尝试使用

获取属性时
$("#myparentdiv feGaussianBlur").attr("stdDeviation"), 

无法检索该属性,因为该属性未找到。我尝试在代码中将stdDeviation属性设置为小写,但是当我尝试使用小写访问它时,它在Internet Explorer 11中显示(在此浏览器上调试),该属性包含D作为大写而不是小写。

当我尝试编写属性时,它将第二个属性放在一个小写的情况下,所以我得到了两个属性,一个是小写D,另一个是大写。

我不知道哪个怪,jQuery或IE11似乎无法解决这个问题。有什么想法吗?

代码(设置属性后):

<div id="some_id_1">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
    <defs>
      <filter id="t3">
        <feGaussianBlur stdDeviation="0" stddeviation="39" />
       </filter>
    </defs>
     <image filter="url(&quot;#t3&quot;)" x="0" y="0" width="350.048px" height="768.75px" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="images/test1.png" />
 </svg>
 </div>

尝试从代码中访问它:

  $("#some_id_1 " + "feGaussianBlur").attr("stdDeviation", radius);

它的作用:将属性设置为小写而不是我用大写写的。您可以看到它在更新后显示两次。

1 个答案:

答案 0 :(得分:2)

你需要确定feGaussianBlur是否是一个类,你可以这样选择它(前面的句号):

$("#myparentdiv .feGaussianBlur").attr("stdDeviation")

如果是ID,请选择以下方式:(前面的#)

$("#myparentdiv #feGaussianBlur").attr("stdDeviation")

希望这有帮助!