Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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/7/css/41.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 如何规范内联css中的顺序跨距?_Javascript_Css_Inline Styles - Fatal编程技术网

Javascript 如何规范内联css中的顺序跨距?

Javascript 如何规范内联css中的顺序跨距?,javascript,css,inline-styles,Javascript,Css,Inline Styles,这是我试图破解的一个晦涩难懂的问题,甚至试图把它变成一个问题都很难,所以我最好展示我所拥有的和我想要得到的: <div> <span>A</span> <span style='font-weight:bold'>B</span> <span style='font-weight:bold;font-style:italic'>C</span> <span style='font-weigh

这是我试图破解的一个晦涩难懂的问题,甚至试图把它变成一个问题都很难,所以我最好展示我所拥有的和我想要得到的:

<div>
  <span>A</span>
  <span style='font-weight:bold'>B</span>
  <span style='font-weight:bold;font-style:italic'>C</span>
  <span style='font-weight:bold'>B</span>
  <span style='font-style:italic'>C</span>
  <span>A</span>
</div>
cn和c是具有内联样式的跨元素,cs是包含常用样式的对象。此函数的返回值示例可能是:

{fontWeight:"bold", fontStyle:"italic"}
其中两种样式都存在于每个元素中。因此,任何建议的答案都可以假定使用这种函数

更新:
以上只是一个例子。样式的组合是任意的,顺序输入跨距的数量可能达到数百个。html将被发送到服务器,我正试图减少数据量。

您可以在这里看到一个彩色示例:

[http://jsfiddle.net/yAywd/1/][1]
您可以像这样使用CSS3:nth-child()伪类:

div span:nth-child(1n) {
    font-weight:bold;
}

div span span {
    font-style:italic;
    font-weight:normal !important;
}

div span:nth-child(2n) {
    font-style:italic;
}


无论如何,我认为你的例子中的语义是错误的。

你的想法是错误的。用语义学来思考,这意味着什么,好的外观应该随之而来。这是如此违反直觉,以至于它只能是某种类型的类项目。CSS已经占据了无数处理相邻和嵌套元素的样式选项。用几行JS剥离内联样式中的span元素并使用样式表要比只考虑您提到的几个样式的所有组合容易得多。问题:您的span是否嵌套过?你的例子显示的只是一个线性的跨度序列,会一直如此吗?@fnostro我已经30年没有在教室里了。不,这是我多年来从事的一个大型项目的一小部分,我有很好的理由来解决这个问题,为什么在这种情况下我需要使用内联样式。@HBP输入跨距从不嵌套,总是顺序的。不好。必须全部使用javascript,没有样式表。我举的例子也只是一个例子。实际的样式可以是任何组合,连续跨距的数量可以达到数百个。我想在将html发送到服务器之前简化它。
[http://jsfiddle.net/yAywd/1/][1]
div span:nth-child(1n) {
    font-weight:bold;
}

div span span {
    font-style:italic;
    font-weight:normal !important;
}

div span:nth-child(2n) {
    font-style:italic;
}