在javascript中获取类名时出错
Error in getting class name in javascript
我在HTML中有这个代码片段
<ul class="orderedList">
<li class="il l1">Appathon 2k14</li>
<li class="il l2">Da Vinci Code</li>
<li class="il l3">Java Beans</li>
<li class="il l4">Gigabyte Wars</li>
<li class="il l5">Spin A Web</li>
</ul>
我有事件处理程序的每个列表项目在我的jquery脚本像这样:
$(".l1").click(function x() {
alert("Description : 'n " + eventsDescription[0] + "'n'nLocation : 'n" + loc[0]);
});
$(".l2").click(function x() {
alert("Description : 'n " + eventsDescription[1] + "'n'nLocation : 'n" + loc[1]);
});
$(".l3").click(function x() {
alert("Description : 'n " + eventsDescription[2] + "'n'nLocation : 'n" + loc[2]);
});
$(".l4").click(function x() {
alert("Description : 'n " + eventsDescription[3] + "'n'nLocation : 'n" + loc[3]);
});
$(".l5").click(function x() {
alert("Description : 'n " + eventsDescription[4] + "'n'nLocation : 'n" + loc[4]);
});
现在我正在考虑这样优化我的逻辑:
$(".il").click(function x() {
alert($(".il").attr("class"));
});
由于'il'是每个标记(列表项)中存在的类,当我单击任何列表项时,它应该返回类的名称。我的问题是,当我单击任何列表项时,我在警报对话框中得到结果'l1 il'。
根据我的代码,我认为我应该得到'l2 il'通过点击第二个项目等其余的项目。
您应该使用$(this)
引用,
$(".il").click(function x() { alert($(this).attr("class")); });
在你的代码中,你在一个元素集合上调用.attr()
,这导致检索在该集合的0
索引中存在的元素的类名。
代码已写好。如果你想要其他选项,试试这个
$(".orderedList li").click(function() { alert($(this).attr("class")); });
相关文章:
- 从jstree获取选定节点时出错
- 使用Pebble.js获取AJAX请求时出错
- 使用Angular获取数据API调用时出错
- Js_of_ocaml-获取cookie时出错
- 从 javascript 获取 MVC 控制器中的操作参数时出错
- 尝试在移动优先应用程序中从 SQL 数据库获取数据时出错
- 在jquery中获取值时出错
- $locationProvider html5mode导致“;无法获取“;刷新时出错-AngularJS Node应用程
- 尝试从ajax静态WebMethod获取asp.net(C#)文本框文本时出错
- angularjs[ng:areq]参数'fn'不是函数,在控制台中获取字符串时出错
- 使用Internet Explorer进行react redux trySubscribe时出错(无法获取未定义的属性“
- 在网格视图中获取属性“行”时出错
- 获取类型将图层添加到地图后出错
- 获取由使用 webkitbrowser 注入的 JavaScript 修改的输入文本的值时出错
- 获取 IE 和 Firefox 错误:解析值“xxx”时出错.声明被丢弃
- 获取用户所选文本的 html 时出错
- 尝试使用 angularjs 拦截器时出错 未捕获 获取 无法调用未定义的方法“推送”
- 尝试在火狐扩展中获取标题属性时出错
- 从 Html 表单 Meteor javascript 获取 Var 时出错
- 按下键时获取值时出错