对不起,这是一个糟糕的问题。我无法解决如何删除它。这里的实际问题和解决方案:
答案 0 :(得分:1)
无需重新绑定功能。
将click事件绑定到一个名为toggleSection()的函数,该函数隐藏了该部分(如果它是可见的)或显示是否隐藏,或者只是使用它:
$('.section.hidden').click(function() {
$(this).toggle();
});
答案 1 :(得分:0)
在这种情况下,您可以使用
$('.section-legend, .section-collapse').click(hidesection);
和
function hideSection() {
$(this).addClass('hidden');
}
答案 2 :(得分:0)
jQuery提供了一种更简单的方法来实现您的目标:
这样您就不必手动实现更改,而是使用一次单击绑定
如果你想隐藏和显示一个对象,你也可以使用
而不是手工编码。 这主要是Javascript-Frameworks为您所做的,它们实现了您可以利用的现有功能,而不是自己实现它们。此外,(大多数情况下)还会考虑跨浏览器的不兼容性。
如果您真的想充分利用jQuery,请深入了解The jQuery API以了解它所提供的所有功能。这样,您将节省大量时间,否则您将投入开发现有功能。
答案 3 :(得分:0)
如果您需要的只是可见性,只需使用切换即可。如果您有隐藏部分的自定义css,请使用toggleClass。为了说明
<script type="text/javascript">
$(function () {
$('p').click(function () {
$('#book').toggle();
// In javascript, just like many C-derived languages, you can pass
// the method's pointer to a variable in.
// hidden is the custom class you add and remove from a section
f = $('#great').is('.hidden') ? funky : hacky;
f($(this));
$('#great').toggleClass('hidden');
$('#amazing').toggleClass('man');
alert($('#great').attr('class') + ' ---- ' + $('#amazing').attr('class'));
});
function funky(section) {
$(section).html('this is funky!');
}
function hacky(section) {
$(section).html('this is hacky!');
}
});
</script>
<div id='book' style='display: none'>Hello</div>
<div id='great' class='diz hidden whatever'>Hai</div>
<div id='amazing' class='spider'>Hai</div>
<p>Stackoverflow rules!</p>
如果您希望隐藏部分,请将style=display: none
添加到代码中。对于自定义隐藏/格式化,请使用toggleClass。