我是 JQuery 的新手,想知道 .on() 函数。例如:
$('div').on('click', function() {$(this).toggleClass('show-description');});
第一段代码是选择我的 HTML 文件中的所有“div”元素并监听点击事件。然后,它将为我单击的最后一个 div 切换我的“显示描述”类“打开”和“关闭”。
<div class="show-description"> ......</div>
如果我只想指定我在 div 标记中定义的特定类来监听我的事件怎么办?
我试过:
$('div.about').on('click', function() {$(this).toggleClass('show-description');});
我在 HTML 中定义的地方:
<body>
<div class="clearfix">
<div class="column">
<ul>
<li id='about'> <span>About Me</span> </li>
......
</div>
</div>
但我没有激活我的“显示描述”声明。我已经尝试阅读 API .on() 方法,以及浏览 Stack,但似乎找不到任何帮助解决此问题的方法。 我不是在寻找直接的答案,只是朝着正确的方向轻推。
谢谢。
最佳答案
$('div.about')
将选择所有具有 about
类的 div
元素。在您的示例中 - div
元素都没有该类。
您的示例中唯一的 about
是 id
(不是类),它位于 li
元素中。
您可能需要这样:$('li#about').on('click', ...
检查以下代码段:
$('div.about').on('click', function() {$(this).toggleClass('show-description');});
$('li#about').on('click', function() {$(this).toggleClass('show-description');});
.show-description {
border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="clearfix">
<div class="column">
<ul>
<li id='about'> <span>About Me</span> </li>
</ul>
</div>
<div class="about">This div has the "about" class</div>
</div>
In the example above you can see that there are two elements you can click - the
li#about
and thediv.about
. Each click will toggle a red border to the element that was clicked.
作为旁注(对于上面的示例),我们可以对
做完全相同的事情$('div.about, li#about').on('click', ...
关于Jquery ('div' ).关于功能标签选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41371899/