首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery隐藏和显示元素

使用jquery隐藏和显示元素
EN

Stack Overflow用户
提问于 2011-09-04 16:41:28
回答 3查看 402关注 0票数 0

我有一个网页的表单张贴评论(一个文本域和一个文本区+提交按钮).I希望表单是不可见的一开始,只显示一个' showform‘链接,使表单可见,并显示’隐藏表单‘link.When’隐藏表单‘链接被点击,表单和hideform link应该是不可见的,并应使showform链接再次可见。我试过了

代码语言:javascript
复制
<html>
<head>
<title>formopen demo</title>
<link href="formopen.css" type="text/css" rel="stylesheet">
</head>
<script src="jquery-1.4.2.js"></script>
<script src="formopen.js"></script>


<body>
<div class="myjsdemo">
   <a href="#" class="showaddcommentformlink">show add commentform</a>
   <a href="#" class="hideaddcommentformlink">hide add commentform</a>
   <div class="form">
      <input type="text" value="" name="myinput" id="myinput"/>
      <textarea name="content" rows="2" cols="20" id="content" > </textarea>
   </div>
</div>

</body>
</html>

formopen.css

代码语言:javascript
复制
.myjsdemo .form{display:none;}
.myjsdemo .hideaddcommentformlink{display:none;}

formopen.js

代码语言:javascript
复制
$(function(){
    $('.myjsdemo.showaddcommentformlink').click(
      function(){
            $(this).hide();
            $('.myjsdemo.hideaddcommentformlink').show();
            $('.myjsdemo.form').show();
            return false;
        }
    );

    $('.myjsdemo.hideaddcommentformlink').click(
      function(){
            $(this).hide();
            $('.myjsdemo.showaddcommentformlink').show();
            $('.myjsdemo.form').hide();
            return false;
        }
    );

});

然而,当我点击链接时什么也没有发生……我对javascript ..If的了解很少,有人可以纠正代码中的任何错误,这将是一个很大的帮助。

我将所有文件放在同一个目录中,并在firefox中打开html文件。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-04 16:45:21

尝试在CSS类之间添加一个空格。

代码语言:javascript
复制
.myjsdemo.showaddcommentformlink

应该是

代码语言:javascript
复制
.myjsdemo .showaddcommentformlink

诸若此类。否则,jQuery将获取同时应用了这两个类的元素。

最后一个函数应该如下所示:

代码语言:javascript
复制
$(function(){
    $('.myjsdemo .showaddcommentformlink').click(
      function(){
            $(this).hide();
            $('.myjsdemo .hideaddcommentformlink').show();
            $('.myjsdemo .form').show();
            return false;
        }
    );

    $('.myjsdemo .hideaddcommentformlink').click(
      function(){
            $(this).hide();
            $('.myjsdemo .showaddcommentformlink').show();
            $('.myjsdemo .form').hide();
            return false;
        }
    );
});
票数 2
EN

Stack Overflow用户

发布于 2011-09-04 16:45:44

您的选择器是错误的。它们应该是:

代码语言:javascript
复制
$('.myjsdemo .showaddcommentformlink')

代码语言:javascript
复制
$('.myjsdemo .hideaddcommentformlink')

代码语言:javascript
复制
$('.myjsdemo .form')

.selector.another表单中使用它们,您可以将两个类的元素都作为目标。

即:

代码语言:javascript
复制
<span class="myjsdemo form">

当您添加一个空格时,您的目标是在空格之后带有选择器的元素,这些元素包含在空格之前带有选择器的元素。

即:

类为"form“的元素包含在类为"myjsdemo”的元素中

票数 2
EN

Stack Overflow用户

发布于 2011-09-04 16:46:24

您的选择器是错误的,有关代码的工作版本,请参阅http://jsfiddle.net/j9Zy4/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7298132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档