Skip to content
Advertisement

Inline “display: none;” is being automatically added when page is rendered – where might I look for the cause?

I have a form element (a checkbox) that I have added to a UI form. When the page is rendered, the Chrome F12 debugger shows that display: none; has been added as a style; i.e.,

JavaScript

… is seen in the Styles pane of the Chrome debugger for the <input> element on my form. (In fact, it is not even possible for me to uncheck this style in the Styles pane of the Chrome debugger – the checkmark stays frozen in place – even though I can easily uncheck other style entries.)

Here is (what I think is) the relevant HTML:

JavaScript

The dots represent things I’ve left off that I hope & think are not relevant.

The <span> element is displayed just fine. But, the <input> checkbox has the display: none; added to its inline style immediately upon page load.

There is also a sidebar, header, and footer being automatically included by a template.

I have some confidence that one of the included Javascript libraries is causing the problem. Here are the loaded Javascript libraries (according to Chrome’s debugger):

JavaScript

The master.v2.js is the application’s custom script. Searching inside it, I find nowhere that it is setting display: none; for this element.

Does anyone have any suggestions about either what Javascript file might be setting display: none;, or how to go about debugging this?

Thanks.

Advertisement

Answer

The culprit was a call to toggle() that was matching the element in question inside the application’s custom Javascript file.

As @koala_dev noted in a comment, it is important to search for hide() when searching for potential locations where display: none; might be added. But, it is also important to search for toggle().

I am answering my own question in case others in the future run into this issue.

User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement