我正在尝试编写一个强制元素具有样式display = block的javascript函数。 目前它被另一条javascript设置为display = none。
我认为window.onload
可以解决问题,因为代码不会被之前的JS覆盖。以下代码用于工作,现在该功能甚至无法触发。
任何人都可以帮忙吗?
window.onload = function () // It sets the class of the unordered list when the page has been loaded.
{
ul.style.display = "block!important"; // Display all the child items
}
答案 0 :(得分:1)
您需要在事件侦听器的回调中获取ul
,因为如果您之前执行此操作,则DOM未完全加载。
document.addEventListener("DOMContentLoaded", function(event) {
var ul = document.getElementById("my-ul");
ul.style.display = "block!important";
});
如果您想要更多的跨浏览器解决方案,可以使用JQuery:
$(document).ready(function() {
$('#my-ul').css('display', 'block!important');
});
您可以在css中执行此操作:
#my-ul {
display: block!important;
}
您的ul
应该是这些解决方案的形式:
<ul id="my-ul">
答案 1 :(得分:1)
你不能那样使用ul.style.display
。
使用document. getElementsByTagName('ul').style.display = "block !important"
答案 2 :(得分:0)
window.onload = function()...正在定义一个函数。使用window.onload()关闭函数后,只需调用该函数即可。几个小时后为我工作