如何使用jquery对所有可点击项目使用一种方法
how to use one method for all clickable items using jquery?
将以下jquery脚本制作成一个单一方法的最佳方法是什么?该方法可以用我所有的可点击跨度来恢复?正如您所看到的,除了特定的CSS类和span唯一ID之外,每个点击事件都在做几乎完全相同的事情。我曾考虑过使用jquery.children()方法,但我不确定如何将特定的类分配给每个span。如有任何帮助,我们将不胜感激。
<p class="clickHolder">
<span id="click1">Select Step 1</span>
<span id="click2">Select Step 2</span>
<span id="click3">Select Step 3</span>
<span id="click4">Select Step 4</span>
<span id="click5">Select Step 5</span>
</p>
<script type="text/javascript">
$(document).ready(function () {
$("#click1").click(function () {
$("#wizardSteps").removeClass();
$("#wizardSteps").addClass("step1");
});
$("#click2").click(function () {
$("#wizardSteps").removeClass();
$("#wizardSteps").addClass("step2");
});
$("#click3").click(function () {
$("#wizardSteps").removeClass();
$("#wizardSteps").addClass("step3");
});
$("#click4").click(function () {
$("#wizardSteps").removeClass();
$("#wizardSteps").addClass("step4");
});
$("#click5").click(function () {
$("#wizardSteps").removeClass();
$("#wizardSteps").addClass("step5");
});
});
</script>
这应该有效:
$('[id^="click"]').click(function () {
var stepnum = $(this).attr('id').substr(5);
$("#wizardSteps").removeClass();
$("#wizardSteps").addClass("step" + stepnum);
});
像这样:
<p class="clickHolder">
<span class="clickable" id="click1">Select Step 1</span>
<span class="clickable" id="click2">Select Step 2</span>
<span class="clickable" id="click3">Select Step 3</span>
<span class="clickable" id="click4">Select Step 4</span>
<span class="clickable" id="click5">Select Step 5</span>
</p>
<script type="text/javascript">
$(document).ready(function () {
$(".clickable").click(function () {
$("#wizardSteps").removeClass();
$("#wizardSteps").addClass( /* calculate step */);
});
});
</script>
相关文章:
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 有没有一种方法可以防止img get请求使用css或js发生
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 有没有一种方法可以从URL跟踪请求的域
- 有没有一种方法可以列出Ember.Object的所有绑定
- 有没有一种方法可以获得three.js的最小/lite版本
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 有没有一种方法可以从Javascript检测特定的应用程序是否安装在(AndroidiOS)设备上
- 在HTML/JavaScript中,有没有一种方法可以在图像开始加载时知道图像的最终布局尺寸
- 有没有一种方法可以在Javascript中进行可变递归currying
- 有没有一种方法可以检测ios<>使用jquery和触发器操作形成导航按钮
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 任何一种简单的方法都可以将带有onload的元素作为目标
- jQuery:使用substr()的另一种方法
- 有没有一种方法可以直接从cordova获得滚动位置
- 有没有一种方法可以通过只引用JavaScript来执行代码
- firebase中有没有一种方法可以防止快速连续写入
- GWT:有没有一种方法可以修改GWT在编译中使用的Cast.java文件