Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
Javascript 如何在XHTML中访问命名空间元素的.style_Javascript_Css_Dom - Fatal编程技术网

Javascript 如何在XHTML中访问命名空间元素的.style

Javascript 如何在XHTML中访问命名空间元素的.style,javascript,css,dom,Javascript,Css,Dom,在显示带有名称空间元素的XHTML文档的浏览器中,如何使用JavaScript访问HTML名称空间之外的元素的.style属性 document.getElementsByTagnames(名称空间,标记名)返回对象的集合,但对象没有CSSStyleDeclaration样式属性(至少在Chrome或Firefox中没有) 你可以说这是出于设计,CSS是特定于HTML的。但是名称空间的CSS样式的内容刚刚好。所以样式信息就在那里的某个地方。我如何读写它 例如,我想知道哪些元素被渲染为块,哪些是内

在显示带有名称空间元素的XHTML文档的浏览器中,如何使用JavaScript访问HTML名称空间之外的元素的
.style
属性

document.getElementsByTagnames(名称空间,标记名)
返回对象的集合,但对象没有
CSSStyleDeclaration
样式属性(至少在Chrome或Firefox中没有)

你可以说这是出于设计,CSS是特定于HTML的。但是名称空间的CSS样式的内容刚刚好。所以样式信息就在那里的某个地方。我如何读写它

例如,我想知道哪些元素被渲染为块,哪些是内联的

(编辑以添加示例:)


要查看此内容,请转到。蓝色部分在HTML名称空间中,红色部分在
http://www.tei-c.org/ns/1.0
名称空间。CSS把它们都设计得很好。比如说,在Chrome的控制台中,输入
document.getElementsByTagName(“框”)
。您将看到两个
对象。HTML元素有
.style
属性,而TEI元素没有。

HTML元素的
.style
属性是HTML元素上内容属性的反映,例如
,而不是从级联中获得的计算样式的反映

要获取计算值,请使用window.getComputedStyle()

要查看它的实际操作,请将此脚本添加到XHTML中,
标记的前面

<script>
var boxes = document.body.children;
console.log(window.getComputedStyle(boxes[0], null).getPropertyValue("color"));
console.log(window.getComputedStyle(boxes[1], null).getPropertyValue("color"));
</script>

变量框=document.body.children;
log(window.getComputedStyle(框[0],null).getPropertyValue(“颜色”);
log(window.getComputedStyle(框[1],null).getPropertyValue(“颜色”);
并检查控制台输出


要判断一个元素是内联的还是块的,或者是其他一些显示值,请使用
window.getComputedStyle(element,null)。getPropertyValue(“display”)

getElementsByTagnames
返回一个元素集合,这样结果就不会有任何
style
属性。如果执行
document.getElementsByTagnames(名称空间,标记名)[0].style
这会给您带来什么吗?哎呀,我的意思是集合中的对象缺少
.style
。我已经编辑了这个问题,好的。如果您可以包含一些导致这种行为的代码,那么回答起来就容易多了。谢谢Mike。我添加了一个显示行为的网站链接。因此,我们要求任何代码都在问题本身中,而不是在第三方网站上。如果某一天该页面丢失,那么这个问题对其他人的帮助就会减少。我如何设置这些值?通过级联。创建或修改样式表对象。不是直接的,是吗-(这是因为它是
Element
的实例,而不是
HTMLElement
。只有html和svg元素实现内联样式的接口。