Jquery组合类似代码
jquery combine similar code
我有很多jquery点击函数,它们都很相似,如何将它们组合起来以获得更短的代码。(使用regex
还是使用array foreach
?)
$(".menu").live('click', function() {
var value = $(this).html();
$('#menu').html(value);
});
$(".nav").live('click', function() {
var value = $(this).html();
$('#nav').html(value);
});
$(".list").live('click', function() {
var value = $(this).html();
$('#list').html(value);
});
应该这样做:
var elems = ["menu", "nav", "list"];
$.each(elems, function(i, elem){
$("."+elem).live('click',function(){
var value = $(this).html();
$('#'+elem).html(value);
});
});
- 创建元素列表
- 循环使用
$.each
- 函数的第二个参数等于列表中的元素(
menu
,nav
,…)
Rob的答案绝对值得投票,但我只是想说,有时您想限制两个元素之间的任意连接。为什么元素X有一个类必须与元素Y的ID同名?这是相当随意的,对人们以后弄清楚可能会很麻烦。
你可以这样处理它,使它更健壮:
<a href="#" class="foo" data-your-data-attr="alice">alice</a>
<a href="#" class="foo" data-your-data-attr="bob">bob</a>
<a href="#" class="foo" data-your-data-attr="sue">sue</a>
现在你的JS变得超级直接和简单:
$(".foo").live('click',function(){
var value = $(this).html();
var yourDataAttr= $(this).data('yourDataAttr');
$('#' + yourDataAttr).html(value);
});
相关文章:
- 如何将jQuery代码组合到JavaScript函数中
- 我正在尝试组合这个javascript代码
- 将循环和数组合并到我的代码中
- 如何组合关键代码以在javascript中协同工作
- 将两行代码与JavaScript组合在一个函数中
- 任何人都可以帮助我编写代码,以便在 extjs 4.2 的组合框中制作带有复选框的面板
- 在 jQuery 中将多个函数与相同的代码组合在一起
- 如何在javascript中设置键代码的组合
- 如何将两个函数的代码与不同的参数组合在一起
- 为多种表单组合ajax代码
- 用于从组合框中获取选定值的JavaScript代码
- 将两个对象与多个节点组合在一起——为什么这段代码有效
- 如何从asp.net代码中自动启动组合键Ctrl P
- 请帮助获取以下用于组合框属性的代码
- JavaScript代码更改组合框输出中的所有图像,而不是所需的图像
- Jquery组合框,代码中的选择
- 我如何将代码后面的循环创建的Javascript函数组合为一个函数,这样我就不会'不必重复
- 用于组合循环、文本、复选框和结果的JavaScript代码
- 循环遍历数组中的字符,对于每个可能的3个字符的组合运行代码
- 我怎么把这些代码组合在一起