为了账号安全,请及时绑定邮箱和手机立即绑定

如何将不同的 css 类选择器组合到一个 javascript 行中?

如何将不同的 css 类选择器组合到一个 javascript 行中?

摇曳的蔷薇 2021-12-12 17:44:26
如何将这段代码简化为一行(js 语句)?     <script>$(".div2").click(function() {window.location = $(this).find("a").attr("href"); return false;});</script>     <script>$(".div3").click(function() {window.location = $(this).find("a").attr("href"); return false;});</script>     <script>$(".div4").click(function() {window.location = $(this).find("a").attr("href"); return false;});</script>     <script>$(".div5").click(function() {window.location = $(this).find("a").attr("href"); return false;});</script>     <script>$(".div6").click(function() {window.location = $(this).find("a").attr("href"); return false;});</script>     <script>$(".div7").click(function() {window.location = $(this).find("a").attr("href"); return false;});</script>     <script>$(".div8").click(function() {window.location = $(this).find("a").attr("href"); return false;});</script>     <script>$(".div9").click(function() {window.location = $(this).find("a").attr("href"); return false;});</script>
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

您可以将其缩短为如下所示:


$(".div2,.div3,.div4,.div5,.div6,.div7,.div8,.div9").click(function() {

  window.location = $(this).find("a").attr("href");

  return false;

});

也没有必要使用多个<script>标签,1个就够了。


查看完整回答
反对 回复 2021-12-12
?
函数式编程

TA贡献1807条经验 获得超9个赞

两个答案:


选择器组

您可以使用选择器组:


$(".div2, .div3, .div4, .div5, .div6, .div7, .div8, .div9")..click(function() {

    window.location = $(this).find("a").attr("href");

    return false;

});

选择器组是一系列中间有逗号的选择器。它选择匹配组中任何选择器的元素。


事件委托

您可以添加一个处理程序,而不是向所有这些 div 添加一个处理程序,该处理程序document仅在点击通过这些 div 之一时才采取行动:


$(document).on("click", ".div2, .div3, .div4, .div5, .div6, .div7, .div8, .div9", function() {

    window.location = $(this).find("a").attr("href");

    return false;

});

即使您有多个语句,也没有理由不能将它们放在一个中script:


<script>

doThis();

doThat();

doTheOther();

</script>


查看完整回答
反对 回复 2021-12-12
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

为元素添加一个公共类,如下所示。


<div class="div2 my-class"> ... </div>

<div class="div3 my-class"> ... </div>

<div class="div3 my-class"> ... </div>

<div class="div4 my-class"> ... </div>

<div class="div5 my-class"> ... </div>

<div class="div6 my-class"> ... </div>

<div class="div7 my-class"> ... </div>

<div class="div8 my-class"> ... </div>

将事件侦听器添加到该公共类


$(".my-class").click(function() {

  window.location = $(this).find("a").attr("href");

  return false;

});


查看完整回答
反对 回复 2021-12-12
  • 3 回答
  • 0 关注
  • 224 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号