我进行了各种研究,但找不到解决问题的方法。我用css创建了一个下拉选择来改变背景颜色,但是当我尝试用Javascript克隆它时,新副本不会改变选择中的属性,所以它保持原来的颜色。试一试,添加一些副本并尝试更改颜色。
我是新来的,我不太能添加代码,所以这里试试:
http://jsfiddle.net/gabry501/FUyA3/ 或 github
https://github.com/gabry501/Test-Color/blob/master/test.html
头
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
function cloning() {
var container = document.getElementById('fine');
var clone = document.getElementById('contenitore').cloneNode(true);
container.appendChild (clone);
}
风格
select option,
select {
background-color:white;
width:200px;
height:200px;
}
select option[value="1"],
select.o1
{
background-color:blue;
}
select option[value="2"],
select.o2
{
background-color:red;
}
select option[value="3"],
select.o3
{
background-color:orange;
}
身体
<div style="width:1100px;
height:250px;" id="contenitore">
脚本
<script>$('select[id$=-status][id^=id_item-]').children().each(
function (){
if($(this).val() == 0){
$(this).css('backgroundColor','white');
}
if($(this).val() == 1){
$(this).css('backgroundColor','green');
}
if($(this).val() == 2){
$(this).css('backgroundColor','red');
}
if($(this).val() == 3){
$(this).css('backgroundColor','orange');
}
}
);</script>
<script>
$('select[id$=-status][id^=id_item-]').change(function (){
var color = $(this).find('option:selected').val();
$(this).removeClass('o1 o2 o3').addClass('o' + $(this).find('option:selected').val());
}).change();