我想在渲染元素之前添加一些css样式(display: none
)。
问题在于我尝试在jQuery插件中执行此操作,但我无法在标头中初始化插件。
我不确定在我的情况下有什么可能
插件:
(function ($) {
var methods = {
init: function (options) {
if (options.collapsed_mode) {
$('#menu').hide();
}
}
};
$.fn.dropright = function (method) {
if (methods[method]) {
methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' not found');
}
return true;
};
});
页:
<?php include 'templates/header.php'; ?>
<div id="wrapper">
<div id="menu">
Hello, world ;)
</div>
</div>
<?php include 'templates/fooer.php'; ?>
我无法添加到css文件display: none
,因为在不同的网页中,我需要display
的不同值。例如,在包含插件的地方,我需要display: none
,但对于任何其他插件,不应该隐藏该元素。
答案 0 :(得分:2)
在元素呈现到页面上之前,您无法在元素上调用.hide()
。 JavaScript不适合这里的工作。
相反,将display: none
添加到元素的CSS中(并确保在元素之前加载CSS文件)。您已经注意到这应该只在某些页面上。凉。只在这些页面上加载此CSS。
#menu {
display: none;
}