1 回答

TA贡献1848条经验 获得超6个赞
根据Maaz的链接问题,您无法设置单个option
元素的样式(color
/除外background-color
)。但是,对于此用例,您不需要,它option
具有disabled
可以满足您需要的属性:禁用选择并淡入选项。
Javascript:
var menus = document.querySelectorAll('.otherMenu');
for (let menu of menus) {
menu.addEventListener('change', function() {
var selectedOption = this.value;
var thisMenu = this;
var selectWife = document.querySelectorAll('.otherMenu option[value="Wife"]');
var selectHusband = document.querySelectorAll('.otherMenu option[value="Husband"]');
selectWife.forEach(function(option) {
if(!(thisMenu === option.parentNode)){
if(selectedOption === 'Wife'){
option.disabled = true;
}
}
});
selectHusband.forEach(function(option) {
if(!(thisMenu === option.parentNode)){
if(selectedOption === 'Husband'){
option.disabled = true;
}
}
});
});
}
CSS:
.other-menu option:disabled {
color: blue;
}
注意:您在otherMenu
类中分配了不正确的类,并没有正确地将它们放置在HTML中,建议在进行选择之前先使用占位符值,如下面的JSFiddle所示:
添加回答
举报