将HTML中的样式更改为所有类元素

时间:2018-05-31 23:22:52

标签: html css

我几天前想知道是否有可能做到以下几点。

假设我们有一个基本的HTML代码,其中包含以下内容:

<p class="someinfo"> basic text </p>
<p class="someinfo"> some other information </p>

我们还有一些CSS文件包含在HTML的标题中,其基本样式如下:

.someinfo{
font-size:32px;
color:red;
}

所以这是我的问题。

如果我编辑HTML并将其放入第一个段落(style =“color:black”)中,如下方所示,则仅更改该div元素的颜色。

通过改变这样的风格,是否有可能使更改出现在具有该类名的所有元素中?

<p style="color:black" class="someinfo"> basic div </p>
<p class="someinfo"> some other information </p>

如果这是一个愚蠢的问题,我希望你明白我的要求并道歉。

P.S。我问这个是因为我有以下情况。有一个网站,我无法访问服务器上的任何文件,无法上传任何新文件。我所能做的就是从文本编辑器创建新页面,该页面无法识别&lt;风格&gt;和&lt;脚本&gt;标签。我想做的就是改变导航上的一些CSS以及网站中每个页面的一些其他项目。

3 个答案:

答案 0 :(得分:0)

这就是CSS的用途:)如果您希望给定类名的所有元素都变为黑色,您可以将CSS样式更改为:

.someinfo{
    font-size:32px;
    color:black;
}

手动内联手动无法正常工作。

如果你真的想内联它,你可以用js编写代码:

var someInfoElements = document.getQuerySelectorAll(".someinfo");

for(i = 0; i < someInfoElements.length; i++) {
    someInfoElements[i].style.color = "black";
}

答案 1 :(得分:0)

选项1

您可以使用style属性定义第一个元素,并使用JS为您创建其余元素,只要所有元素都具有相同的选择器。

&#13;
&#13;
const someInfo = document.querySelectorAll('.someinfo');
const style = someInfo[0].getAttribute("style");
someInfo.forEach((s) => s.style = style);
&#13;
<p style="color:red; font-size:32px" class="someinfo"> basic text </p>
<p class="someinfo"> some other information </p>
&#13;
&#13;
&#13;

选项2

您可以为每个元素添加样式属性。

以下是一个例子:

&#13;
&#13;
const someInfo = document.querySelectorAll('.someinfo');
let style = '';
someInfo.forEach((s) => {
  if (typeof s.getAttribute("style") === 'string') {
    style += s.getAttribute("style");
    if (style.slice(-1) !== ';') {
    	style += ';';
    }    
  }
});
someInfo.forEach((s) => s.style = style);
&#13;
<p style="color:red;" class="someinfo"> basic text </p>
<p style="font-size:32px" class="someinfo"> some other information </p>
<p style="color:blue" class="someinfo"> and more information </p>
<p class="someinfo"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Numquam, soluta animi, optio repellat eius consectetur! Iure repudiandae, architecto doloremque, dolorum totam consequatur minima placeat recusandae nisi earum dignissimos, illum culpa. </p>
&#13;
&#13;
&#13;

如您所见,我正在使用color:redcolor:blue。就像在CSS中一样,最后一个属性获胜。在这种情况下,具有类someinfo的元素的颜色为蓝色,并且将添加所有其他CSS属性和值。

答案 2 :(得分:-1)

是的,你可以,如果你想改变div中的所有段落

,只需在你的css代码中输入“p”:你的两个

元素将会改变

  p {font-size:32px;color:red;}

而不是

.someinfo{font-size:32px;color:red;}

您的代码将是这样的

<style> p { font-size:32px;color:red;} </style>
相关问题