Javascript 通过id的CSS增量

Javascript 通过id的CSS增量,javascript,css,styles,dynamically-generated,Javascript,Css,Styles,Dynamically Generated,我有一组由javascript生成的文本框。有些文本框需要额外的CSS样式。我无法使用id属性,因为只有一些文本框需要此样式。我也不能使用class属性,因为它在所有文本框中都是相同的 我目前使用的CSS如下所示: #txtSys8 { position: relative; left: 203px; } #txtSys9 { position: relative; left: 203px; } #txtSys10 { position: relative; left: 203px; }

我有一组由javascript生成的文本框。有些文本框需要额外的CSS样式。我无法使用id属性,因为只有一些文本框需要此样式。我也不能使用class属性,因为它在所有文本框中都是相同的

我目前使用的CSS如下所示:

#txtSys8
{
position: relative;
left: 203px;
}

#txtSys9
{
position: relative;
left: 203px;
}

#txtSys10
{
position: relative;
left: 203px;
}
有没有一种方法可以在不单独设置样式的情况下循环这些ID(从#txtSysy8到#txtSys19)

这是生成html的代码

rssTag ="<TABLE id='rssTable' border=\"0\" width=\"100%\"><TBODY>";

for(var i=8; i<arrGridData.length; i++){

var upToNCharacters = arrGridData[i][0].substring(0, 13);

if(upToNCharacters == "RSS_FEED_LINK"){
rssTag+="<TR><TD><font>" + arrGridData[i][1] + ":</TD><TD>  <input type=\"text\" id=\"txtSys"+i+"\" name=\"txtSys"+i+"\" onChange=\"pgEdited()\" tabindex=\" " +(i+1) +"\" class=\"fontDefault\"></TD><TD><input type=\"checkbox\" id=\"check" + arrGridData[i][0].substring(14, arrGridData[i][0].toString().length) + "\" name=\"check\" onChange=\"pgEdited()\" class=\"chk\"/></TD></TR>";

        }else{
rssTag+="<TR><TD><font>" + arrGridData[i][1] + ":</TD><TD><input type=\"text\" id=\"txtSys"+i+"\" name=\"txtSys"+i+"\" onChange=\"pgEdited()\" tabindex=\" " +(i+1) +"\" class=\"fontDefault\"></TD></TR>";

        }
        createArrControls(i);

rssTag += "</TBODY></TABLE>";

document.getElementById('tableDiv2').innerHTML=rssTag;
rssTag=”“;
对于(var i=8;i您可以使用

[attribute^=value]
选择器匹配属性值以指定值开头的每个元素

div[id^='txtSys'] {
   position: relative;
   left: 203px;
}
你可以用

[attribute^=value]
选择器匹配属性值以指定值开头的每个元素

div[id^='txtSys'] {
   position: relative;
   left: 203px;
}

更改需要新样式的文本框

<input type='textbox' id="txtId" class="someClass"/> 
 to
<input type='textbox' id="txtId" class="someClass myClass">

 .myClass
{
 /*add your styles here*/
}

更改需要新样式的文本框

<input type='textbox' id="txtId" class="someClass"/> 
 to
<input type='textbox' id="txtId" class="someClass myClass">

 .myClass
{
 /*add your styles here*/
}

谢谢大家…现在很好用

我的javascript:

rssTag+="<TR><TD><font>" + arrGridData[i][1] + ":</TD><TD><input type=\"text\" id=\"txtSys"+i+"\" name=\"txtSys"+i+"\" onChange=\"pgEdited()\" tabindex=\" " +(i+1) +"\" class=\"fontDefault textClass\"></TD></TR>";

谢谢大家…现在很好用

我的javascript:

rssTag+="<TR><TD><font>" + arrGridData[i][1] + ":</TD><TD><input type=\"text\" id=\"txtSys"+i+"\" name=\"txtSys"+i+"\" onChange=\"pgEdited()\" tabindex=\" " +(i+1) +"\" class=\"fontDefault textClass\"></TD></TR>";


有什么原因你不能给这些元素一个类吗?请给我们看你的HTML,这样我们可以给出一个更准确的答案。你可以在一个元素上有多个类。那么哪些元素需要什么属性?你的HTML看起来像什么?你也可以在CSS中使用逗号为相同的规则定义多个选择器是一种编译语言对于CSS,您可以轻松地完成这类事情并保持干燥。有什么原因您不能给这些元素一个类吗?请向我们展示您的HTML,以便我们可以给出更准确的答案。您可以在一个元素上有多个类。那么哪些元素需要什么属性?您的HTML看起来像什么?您还可以在CSS中使用逗号来为同一规则定义多个选择器是一种可编译为CSS的语言,可让您轻松地执行类似的操作并保持其干燥。有关regex选择器类型的更多信息,请参阅:它是一个与属性选择器匹配的子字符串,而不是regex选择器。您不能向它传递正则表达式,它只检查prefix.@BenjaminGruenbaum你是对的。但出于任何原因,我认识的许多人都称它为正则表达式选择器:/@Benjamin Grunbaum:你完全正确。根据规范,在css中很难做得更好,javascript肯定更合适。回答得好。有关正则表达式选择器类型的更多信息:它是一个子字符串匹配属性选择器不是正则表达式选择器。你不能将正则表达式传递给它,它只是检查前缀。@BenjaminGruenbaum你是对的。但是出于任何原因,我认识的许多人都称它为正则表达式选择器:/@Benjamin Gruenbaum:你完全正确。根据规范,在css中很难做得更好,javascript肯定会更有用PultAudi.+多个类在这里看起来是更好的方法。OP你也应该考虑给这个类一个语义名称,所有这些div的共同分母是什么?谢谢。我试着添加多个类,但是它不起作用。请检查我添加到问题的JavaScript代码。+ 1多个类似乎更好的方法在这里。OP你也应该考虑给这个类一个语义名称,所有这些div的共同分母是什么?谢谢。我试着添加多个类,但是它不起作用。请检查我添加到问题中的JavaScript代码。