Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Internet Explorer的样式属性问题_Html_Internet Explorer_Dom - Fatal编程技术网

Html Internet Explorer的样式属性问题

Html Internet Explorer的样式属性问题,html,internet-explorer,dom,Html,Internet Explorer,Dom,在以下示例中,如何使用DOM api获取style属性的值: <!DOCTYPE html> ... <div id="myid" style="foo"></div> ... ... ... document.getElementById('myid').getAttribute('style')在firefox和google chrome上返回“foo”,但在IE(9)上返回nullIE解析样式表并丢弃语法错误的部分。如果使用例如进行测试,则IE 9

在以下示例中,如何使用DOM api获取style属性的值:

<!DOCTYPE html>
...
<div id="myid" style="foo"></div>
...

...
...

document.getElementById('myid').getAttribute('style')
在firefox和google chrome上返回“foo”,但在IE(9)上返回null

IE解析样式表并丢弃语法错误的部分。如果使用例如
进行测试,则IE 9标准模式返回
颜色:rgb(0,0,51);线高:1.3。因此,它转换了颜色符号,并丢弃了格式错误的部分。在您的例子中,CSS代码在删除坏部分后变为空


旧版本的IE表现不同,IE9在怪癖模式下也不一样。通常,避免读取
style
HTML属性,而是读取
style
DOM属性。关于差异,请参见问题。

您可能想看看jQuery<代码>$('div#myid').attr('style')您是否在onready中运行此程序?i、 e.
$(函数(){//code here..})您的
标记结构不正确,它应该有一个完整的结束标记<代码>
。。。真的,修正了。。。但同样的结果是:(IE非常挑剔。你向html中添加一些东西并不意味着IE会将其添加到DOM中。如果有实际的css,它会起作用(或者只是让它成为style='foo:bar')。那么,为什么你的样式中只有'foo'呢?不要对自定义数据使用style属性。你可以使用
outerHTML
属性(所有当前使用的IE版本都支持,但其他浏览器也有问题)然后解析标记以获得
样式
属性值。相当笨拙。我不明白您为什么需要它。这样的
样式
属性并不相关;重要的是组合样式。对于样式表中语法错误且被浏览器忽略的部分,您会怎么处理?outerHTML忽略了style属性你是对的,IE在这里也显示了解析的值,因此格式错误的
foo
会被剥离。使用
style
属性的值在语法上不是样式表的目的是什么?客户端模板。例如@Soubok,或者存储
$foo
在变量中(毕竟,在客户端编程中,您也可以使用普通编程),或者将其放入
数据-*
属性中,例如
数据样式=“$foo”
,并仅当您可以将
$foo
解析为真正的CSS代码时才生成
样式
属性值(如果需要)。