js怎么实现点击不同的按钮,示不同的内容

如果有一大堆按钮,那么为每个按钮一个个分配click事件调用不同的div,整个代码会显得很臃肿,可不可以用条件语句什么的,几句就能判断出我点击的按钮?... 如果有一大堆按钮,那么为每个按钮一个个分配click事件调用不同的div,整个代码会显得很臃肿,可不可以用条件语句什么的,几句就能判断出我点击的按钮? 展开
 我来答
zeta_func
推荐于2017-11-29 · TA获得超过228个赞
知道答主
回答量:201
采纳率:0%
帮助的人:123万
展开全部

你有用jQuery吗。如果是可以用delegate代理点击事件。如果没有,自己写一个,其实就是点击事件的冒泡。

<button type="button" data-target="#div1">显示id为div1的元素里的内容</button>
<button type="button" data-target="#div2">显示id为div2的元素里的内容</button>

为你的每个要点击的按钮加上data-target属性(这是HTML5的data-*特性),假设这些按钮的共同父元素是

#button-wrap

那么就可以这样用代理

$('#button-wrap').delegate('button[data-target]', 'click', function() {
    // 获取存储在按钮上的作为 jQuery 选择器的 target 值
    var target = $(this).data('target'); 
    // 在 HTML5 中也可以是 var target = this.dataset.target
    // 根据target指定的选择器,显示该元素
    $(target).show();
});
追问
我按照你的方法运行不出来,你能写一个文件发给我吗? 谢了!
P.S. 刚试了好多次,发现好像是jquery版本不支持delegate [data-target]这类元素的样子。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式