javascript - 为什么只有前两次点击有效。?
本文介绍了javascript - 为什么只有前两次点击有效。?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>挑战题</title>
</head>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript">
</script>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li style="display:none" >5</li>
<li style="display:none">6</li>
<li>7</li>
</ul>
<a href='#' >更多</a>
<script type='text/javascript'>
$("a").click(function(){
if($("a").text()==='更多'){
$("li[style='display:none']").show();
$("a").text("简化");
}else if($("a").text()==='简化'){
$("li:eq(4)").hide();
$("li:eq(5)").hide();
$("a").text("更多");
}
}
);
</script>
</body>
</html>
解决方案
改成下面这样就可以啦,因为你调用 show
这个方法会使 li
的行内样式设置成 style="display: none;"
,所以这个时候通过 $('li[display:none]')
选择器使选择不到的
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>挑战题</title>
</head>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript">
</script>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li style="display: none;" >5</li>
<li style="display: none;">6</li>
<li>7</li>
</ul>
<a href='#' >更多</a>
<script type='text/javascript'>
$("a").click(function(){
if($("a").text()==='更多'){
$("li[style='display: none;']").show();
$("a").text("简化");
}else if($("a").text()==='简化'){
$("li:eq(4)").hide();
$("li:eq(5)").hide();
$("a").text("更多");
}
}
);
</script>
</body>
</html>
这篇关于javascript - 为什么只有前两次点击有效。?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文