我制作的按钮每次按下时都需要在两种颜色之间切换。我想通过比较样式类来看看它是否匹配"绿色"或"红色" css课。像这样。
if(clickedBtn.getStyleClass() == "green") {
clickedBtn.getStyleClass().add("red");
} else {
clickedBtn.getStyleClass().add("green");
}
这不起作用,因为它不会识别"绿色"什么都有。有更简单的方法吗?我只需要一个带可选座椅的图形显示器。谢谢
答案 0 :(得分:2)
$.ajax({
url: 'devices.json',
data: {},
datatype: 'JSON',
method: 'GET',
success: function(data) {
var devices = data;
function print_dev() {
var str = "";
str += '<h3>Ajax, JSON Data</h3>';
document.getElementById('wrapper').innerHTML = str;
}
print_dev();
}
});
重新生成包含样式类的.getStyleClass()
。这永远不会是与字符串文字相同的对象,因此ObservableList
检查始终会产生==
。正确的检查方法是,如果节点有样式类,则会调用列表的false
方法:
contains
因为你可能希望红色和绿色是相互排斥的。你还应该删除样式类:
if (clickedBtn.getStyleClass().contains("green")) {
然而,使用伪类可能会更方便:
if(clickedBtn.getStyleClass().remove("green")) {
clickedBtn.getStyleClass().add("red");
} else {
clickedBtn.getStyleClass().remove("red");
clickedBtn.getStyleClass().add("green");
}