2014-09-30 66 views
0

我有一些内联样式的html元素加上自定义css属性。 现在我可以访问每个样式属性,但不能访问我的自定义样式属性。javascript如何获取html样式的自定义属性值

这是我的代码。

<img id="myimg" class="ImgClass" style="overfolow:hidden;position:absolute;mycustomProp:100;top:15;left:20"> 

这里我不能得到mycustomProp。

任何帮助?

+0

快速注: “overfolow” - > “溢出” – VictorKilo 2014-09-30 17:14:40

+0

http://javascript.info/tutorial/attributes-and-custom-properties – 2014-09-30 17:15:37

+0

阿维纳什·巴布我可以访问自定义属性,但它不是我的问题我的问题是如何获得自定义样式属性。 – anerjan 2014-09-30 17:18:34

回答

0

http://jsfiddle.net/phrjwgxk/

alert(getCustomStyle("myimg","mycustomProp")); 


function getCustomStyle(theId,theStyle) { 
    var styles=document.getElementById(theId).getAttribute("style").split(';'); 
    var astyle; 
    for(var i=0;i<styles.length;i++) { 
     astyle=styles[i].split(':'); 
     if(astyle[0]==theStyle) return (astyle[1]); 
    } 
    return undefined; 
} 
+0

我只是像你一样手动完成它。反正谢谢:) – anerjan 2014-09-30 17:27:58

1

document.getElementById("myimg").getAttribute("style")检索属性。

document.getElementById("myimg").setAttribute("style",<string>)可以用来改变它。

+0

它发送整个混合数组,意味着它将每一个字符视为数组元素。 – anerjan 2014-09-30 17:26:18

0

检查

$("#myDiv").hasAttribute(name)

得到

$("#myDiv").getAttribute(name)

设置

$("#myDiv").setAttribute(name)

删除

$("#myDiv").removeAttribute(name)