jquery+;当具有属性块时,div无法使用.hide()正确隐藏?
我有一个div,用append添加到我的html中 然后我用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保持不变时,这
$('#'+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调用了code>但没有更改它,因此它似乎正在刷新,只是不正确
有什么好主意吗
谢谢你一直以来的努力,想隐藏是另一种方式
$('#'+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();
});