Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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 什么';s相当于IE';在DOM中的s document.all?_Javascript - Fatal编程技术网

Javascript 什么';s相当于IE';在DOM中的s document.all?

Javascript 什么';s相当于IE';在DOM中的s document.all?,javascript,Javascript,我基本上想对页面中的所有元素动态应用一些样式,我知道document.all是IE专有的,那么,DOM中的等值(如果有的话)是什么?DOM中的css中是否有与*等价的元素 注意:不想为此使用JQuery或任何其他JS库,只使用JS,谢谢使用document.getElementsByTagName('*') 提供此方法的明确说明(搜索getElementsByTagName)。使用文档。getElementsByTagName('*') 给出了此方法的明确说明(搜索getElementsByTa

我基本上想对页面中的所有元素动态应用一些样式,我知道document.all是IE专有的,那么,DOM中的等值(如果有的话)是什么?DOM中的css中是否有与*等价的元素


注意:不想为此使用JQuery或任何其他JS库,只使用JS,谢谢使用
document.getElementsByTagName('*')


提供此方法的明确说明(搜索getElementsByTagName)。

使用
文档。getElementsByTagName('*')


给出了此方法的明确说明(搜索getElementsByTagName)。

是的,我刚刚在Safari、Explorer6、Opera和Firefox上测试了documentAlldocument.getElementsByTagName(“*”),似乎对所有这些方法都有效:)

是的,我刚刚测试了documentAlldocument.getElementsByTagName(“*”)在Safari、Explorer6、Opera和Firefox上,似乎对它们都有效:)

正如Scharrels所说,您可以使用
document.getElementsByTagName('*')
。但您应该注意,将样式应用于页面上的每个元素将影响性能。最好动态创建一个
标记,并在其中添加样式:

function addStyles(styles) {
    var styleTag = document.createElement('style');
    styleTag.type = 'text/css';
    try {
        styleTag.appendChild(document.createTextNode(styles));
    } catch(e) {
        /* Exception thrown in IE */
        styleTag.stylesheet.cssText = styles;
    }
    document.getElementsByTagName('head')[0].appendChild(styleTag);
    return styleTag;
}
用法:

addStyles('* { color: red; }');

正如Scharrels所说,您可以使用document.getElementsByTagName('*')。但您应该注意,将样式应用于页面上的每个元素将影响性能。最好动态创建一个
标记,并在其中添加样式:

function addStyles(styles) {
    var styleTag = document.createElement('style');
    styleTag.type = 'text/css';
    try {
        styleTag.appendChild(document.createTextNode(styles));
    } catch(e) {
        /* Exception thrown in IE */
        styleTag.stylesheet.cssText = styles;
    }
    document.getElementsByTagName('head')[0].appendChild(styleTag);
    return styleTag;
}
用法:

addStyles('* { color: red; }');

将样式应用于所有元素并不是您通常会做的事情,那么您将使用它做什么呢

有些样式不能应用于所有图元。例如,
select
元素不支持在所有浏览器中设置边框。在内联元素上设置边距可能会产生不同的意外结果

某些样式是继承的,因此,例如,如果您将字体大小应用于body元素,则该字体大小将由尚未设置特定字体大小的任何元素继承

您可以使用CSS中的级联更改许多元素的样式。例如,如果已定义此样式:

.highlight div.info { background: #ffc; }
.highlight strong { color: #f00; }

将className=“highlight”设置为body标记将为class=“info”中的每个div提供浅黄色背景,并为每个强元素提供红色文本。

将样式应用于所有元素不是您通常会做的事情,那么您将使用它做什么

有些样式不能应用于所有图元。例如,
select
元素不支持在所有浏览器中设置边框。在内联元素上设置边距可能会产生不同的意外结果

某些样式是继承的,因此,例如,如果您将字体大小应用于body元素,则该字体大小将由尚未设置特定字体大小的任何元素继承

您可以使用CSS中的级联更改许多元素的样式。例如,如果已定义此样式:

.highlight div.info { background: #ffc; }
.highlight strong { color: #f00; }

将className=“highlight”设置为body标记将为class=“info”中的每个div提供浅黄色背景,并为每个强元素提供红色文本。

哦,实际上我只是将其用于bookmarklet。我正在为google Chrome创建一个bookmarklet,用于更改背景和文本颜色,因此如果它影响性能,这不是问题,但无论如何,感谢您注意到这一点。哦,实际上我只是将此用于bookmarklet。我正在为google Chrome创建一个bookmarklet来更改背景和文本颜色,因此,如果它影响性能,这不是问题,但无论如何,感谢您注意到这一点。嗯,这很有趣,我一直都知道该文档。所有内容都是MS IE专有的,所以我甚至没有尝试查看它是否在其他浏览器中工作。我还是喜欢用“标准”的方式,但我认为其他浏览器供应商实现它非常有趣,谢谢你注意到这一点。对不起,瓦利德,这是一个打字错误,我指的是文档。getElementsByTagName(“*”)适用于所有浏览器。嗯,这非常有趣,我一直都知道文档。所有内容都是IE女士的专有信息,所以我甚至没有试着看看它在其他浏览器中是否有效。我仍然更喜欢用“标准”的方式,但我认为其他浏览器供应商实现它非常有趣,感谢您注意到这一点。对不起,瓦利德,这是一个打字错误,我指的是文档。getElementsByTagName(“*”)适用于所有浏览器。