jquery+;当具有属性块时,div无法使用.hide()正确隐藏?

jquery+;当具有属性块时,div无法使用.hide()正确隐藏?,jquery,css,html,hide,Jquery,Css,Html,Hide,我有一个div,用append添加到我的html中 然后我用$('#'+q.hide()隐藏它其中q是我的div的变量名 这100%有效 当触发时,我用$('#'+q.show()显示div。同样,这是100%有效的,并且显示了div 我的问题是,当我想再次隐藏它时,$('#'+q).hide()不起作用。没有javascript错误,它根本不起作用 显示div时生成的html为: 我试图用$('#'+q.hide()隐藏这个div其中变量q=30。我已经确认了q的值 当html保持不变时,这

我有一个div,用append添加到我的html中

然后我用
$('#'+q.hide()隐藏它
其中
q
是我的div的变量名

这100%有效

当触发时,我用
$('#'+q.show()显示div。同样,这是100%有效的,并且显示了div

我的问题是,当我想再次隐藏它时,
$('#'+q).hide()不起作用。没有javascript错误,它根本不起作用

显示div时生成的html为:

我试图用
$('#'+q.hide()隐藏这个div其中变量q=30。我已经确认了q的值

当html保持不变时,这不起作用

firebug在
$('#'+q).hide()时突出显示html但没有更改它,因此它似乎正在刷新,只是不正确

有什么好主意吗


谢谢你一直以来的努力,想隐藏是另一种方式

$('#'+q).css('display','none');
.hide()
函数在内部将
display:none
属性更改为
display:block
。因此,如果由于某种原因,
.hide()
不起作用,则可以尝试上面的代码。 .show()也是如此,即

$('#'+q).css('display','block'); 

可用于
.show()

首先,您可以使用FireFox Web Developer插件查看通过JS/Jquery更改后生成的代码

使用toggle()显示和隐藏元素更容易。 您能在元素上发布触发show()hide()函数的代码吗

我尝试在以下示例中重现一些代码:

有一个区块分区:

<div id="30" class="form" style="display: block;">I am there</div>
<button>Toggle</button>
然后,您可以使用按钮进行切换:

$("button").click(function() {
    $("#30").toggle();
});
将div和按钮添加到主体后,代码如下所示:

$(“body”).append('I am therethetoggle');
$(“#30”).hide();
$(“按钮”)。单击(函数(){
$(“#30”).toggle();
});

希望这有帮助。

听起来像是授权问题??您能在上下文中显示您的代码吗?理想情况下,如果您能将其减少到最低限度的样本,以证明问题的存在,这将真正有助于我们帮助您。“这不起作用,html保持不变”-你在哪里看html?当进行更改时,浏览器不会更新页面的html,它会更新DOM。请提供更多详细信息,即解决问题的原因,如果可能,请提供相关文档链接。请确保。感谢您的评论。关于您的解释,如果
.hide()
尝试在内部执行此操作,但它不起作用,为什么使用
.css()
执行此操作?@nnnnnn根据我的理解,如果js版本较旧,则可能无法理解.show()函数。不确定我是否正确。我很高兴知道确切的答案。如果你知道的话,请告诉我。
$("button").click(function() {
    $("#30").toggle();
});
$("body").append('<div id="30" class="form" style="display: block;">I am there</div><button>Toggle</button>');
$("#30").hide();
$("button").click(function() {
    $("#30").toggle();
});