我有一个简单的DIV,无法将其隐藏()和show()。
我想我做得对,但找不到它有什么问题。
<div id="thediv" >hola</div>
<input type="button" value="click to show">This is the div content</input>
$(document).ready(function() {
$("div#thediv").hide();
alert($("div#thediv").hide().attr("id"));
});
$("button").click( function() {
$("div#thediv").show();
alert('click');
});
另外,我在link“http://jsfiddle.net/rt9Fc/”创建了一个小提琴。
有什么想法吗?
答案 0 :(得分:9)
将您的点击处理程序放在document.ready中,并将您的选择器更改为$("input:button")
-
$(document).ready(function () {
$("div#thediv").hide();
alert($("div#thediv").hide().attr("id"));
$("input:button").click(function () {
$("div#thediv").show();
alert('click');
});
});
演示--->
JsFiddle
答案 1 :(得分:3)
您的代码版本更合适:JsFiddle
HTML:
<div id="thediv">hola</div>
<input type="button" value="click to show"/>
JavaScript的:
$(function() {
var $myDiv = $("#thediv");
$myDiv.hide();
alert($myDiv.attr("id"));
$("input[type=button]").on('click', function() {
$myDiv.show();
alert('click');
});
});
一些有用的注释:
$function()
是document.ready的别名,写入速度更快,通过网络发送的字节更少:)可能你想要这个:
HTML:
<div id="thediv">
hola
<input type="button" value="click to show"/>
</div>
这样我们就可以优化JavaScript:
$(function() {
var $myDiv = $("#thediv");
$myDiv.hide();
alert($myDiv.attr("id"));
$myDiv.find("input[type=button]").on('click', function() {
$myDiv.show();
alert('click');
});
});
答案 2 :(得分:1)
将按钮选择器更改为:button
或使用输入。 button
选择器用于<button>Somebutton</button>
$(document).ready(function() {
var $thediv = $('#thediv').hide(); //Cache the object here. Also you can shain it through
$(":button").click( function() {
$thediv.show();
alert('click');
});
});
<强> Fiddle 强>
如果您有id,请不要在其前面添加标记名。它会使选择器变慢。因此,只需使用#thediv
代替div#thediv
。如果你在多个地方使用它,也尝试将jquery对象缓存到一个变量,这样可以避免每隔一段时间调用jquery对象。
答案 3 :(得分:1)
更改按钮selector
:如果您想使用<input type='button'/>
将标记更改为$('button')
<button></button>
$("#thediv").hide();
alert($("div#thediv").hide().attr("id"));
$("input[type='button']").click( function() {
$("#thediv").show();
});
DEMO -->
JsFiddle
答案 4 :(得分:0)
为按钮
提供ID<div id="thediv">hola</div>
<input type="button" id="btn" value="click to show"/>
使用此代码
$(document).ready(function() {
$("div#thediv").hide();
alert($("div#thediv").attr("id"));
});
$("input#btn").click( function() {
$("div#thediv").show();
alert('click');
});