Hi. I am trying to have a button run a simple javascript when pressed. It works when I call the Objects by class but not when I call the object by ID (like the following). Am I doing something wrong? Thank you!
$("#obj90").style.color="red";
Hi. I am trying to have a button run a simple javascript when pressed. It works when I call the Objects by class but not when I call the object by ID (like the following). Am I doing something wrong? Thank you!
$("#obj90").style.color="red";
Hi,$("#obj90")
uses JQuery and returns an array of objects. If you want to access DOM properties you must access to the first element of the array. For example, if "obj4155" is a rectangle, you can change its background color doing:
$("#obj4155")[0].style.backgroundColor="red";
Otherwise, you can use pure JQuery syntax like this:
$("#obj4155").css("backgroundColor", "red");
Best Regards,
Angelo
Got it. Thank you!
As a follow up question... I used the following code on a button and it works to change the color of the button (and reveal certain items) when I press the button. However, it usually requires two clicks on the button to work instead of working on the first button. Am I doing something wrong? Thank you!
var button = $("#obj157");
var zhuyin = PubCoder.getObjectsWithClass("zhuyin");
if (button[0].style.backgroundColor == "white") {
button[0].style.backgroundColor = "gray";
button[0].style.color = "white";
for (i = 0; i < zhuyin.length; i++) {
zhuyin[i].style.opacity = 1;
}
}
else {
button[0].style.backgroundColor = "white";
button[0].style.color = "black";
for (i = 0; i < zhuyin.length; i++) {
zhuyin[i].style.opacity = 0;
}
}
Probably, though the button is white, the backgroundColor isn't "white" on the first click, maybe it's something like "#fff" or "#ffffff" or "rgba(255,255,255,1.0)", which are all equivalents. So the first click always catches the second brench of the IF. You try setting the color in the "on show" event, or maybe in your case just invert the if logic condition (e.g. if backgroundColor != white then set white else set grey)
That worked. Thanks!