问:作为练习,我尝试使用jQuery在一系列div中查看更多/查看更少的内容。我创建了触发多见事件的按钮,同时,当div扩展时,我隐藏了“查看更多”按钮,而当div收缩时,我隐藏了“查看较少”按钮。
我的问题是,当用户单击某个按钮时,它将更改页面上的所有按钮,而不是该特定div中的按钮。
我尝试以几种不同的方式解决此问题,但均未成功。我有点理解如何使用$(this)以及如何遍历元素...但是我无法解决此问题。
这是我正在使用的jQuery->
//隐藏“少看”按钮
$ (“ .less-button” )。隐藏(); //捕获更多按钮,然后添加类以放大div $ (“ .more-button” )。点击(函数(){ $ (本)。父()。addClass (“更多” ); //隐藏“看到更多”按钮$ (“更多按钮” )。隐藏(); //秀“见少“ button $ (” .less-button“ )。show (); });
//捕获较少的按钮,然后删除类以缩小div
$ (“ .less-button” )。点击(函数(){ $ (本)。父()。removeClass (“更多” ); //隐藏“见少”按钮再次$ (“.LESS按钮” 。)隐藏(); //显示“见更多”按钮...再次$ (“ .more-button” )。show (); });
答:我想到了!对于阅读类似问题的任何人:我需要寻找同级按钮,例如this->
//隐藏“少看”按钮
$ (“ .less-button” )。隐藏(); //捕获更多按钮//添加类以放大div $ (“ .more-button” )。点击(函数(){ $ (本)。父()。addClass (“更多” ); //隐藏“看到更多”按钮$ (本)。隐藏(); //秀“见少”按钮$ (本)。兄弟姐妹(“ .less-button” )。
();
}); //捕获较少的按钮,//删除类以缩小div $ (“ .less-button” )。点击(函数(){ $ (本)父()。removeClass (“更多” ); //隐藏“见少”按钮再次$ (本)。隐藏(); //显示“查看更多”按钮..再次$ (this )。兄弟姐妹(“ .more-button” )。show (); });