这个哪里有问题了?

这个哪里有问题了?

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>toggle事件演示</title>

<style>

.head{border:1px solid black;background: gray;}

.highlight{background: red;}

</style>

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>

</head>

<body>

<div id="pannel">

<h5 class="head">什么是jQuery?</h5>

<div class="content">jQuery是一个优秀的JavaScript库,

函数内的return是用来将值传递出去的,调用函数时,拿到的值就是return后面的值,不定义要return出来的值的话,就默认是undefined。有的函数调用不需要拿到它的返回值,就可以直接在函数内return,或者不写。</div>

</div>

<script>

$(function(){

$("#panel h5.head").click(function(){

var content=$(this).next;

if(content.is(":visible")){

content.hide();

}else{

content.show();

}

})

})

</script>

</body>

</html>

以上是代码,也没有报错,不知道哪里有问题?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
正在想名字呢 2017-12-04 18:44:04

$(this)表示的是用jquery封装好的当前对象,可以使用jquery提供的方法访问样式 ,只有 $(this)才可以用JQ方法,个人感觉用$(this) 比直接用this要标准些。有不对的欢迎指出。

  • 提问者 夜幕客船 #1
    恩 差不多是这个意思,$(this) 是用在jQuery方法下,而this是在js中调用代表当前操作的对象;js对象和jQuery可以相互转化,比如这个this直接加上$,就可以变为jQuery对象,从而调用jQuery方法;其他的像get();eq();等也可以把jQuery对象转化为js对象!
    2017-12-04 20:22:51
卡布琦诺 2017-12-04 11:55:53

你想实现什么样的弹出层效果呢?是点击H5显示/隐藏content的内容还是?建议亲详细的描述一下你的问题哦~

  • 提问者 夜幕客船 #1
    恩恩,我又重新测试了一下,是选取下方内容有误;之前写的是:var content=$(this).next;实际上应该在next后面加个括号,也就是$(this).next()才能真正选中;这里想问一下this;是不是在jQuery中用this这个方法时必须写为$(this)?
    2017-12-04 18:06:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师