【问题标题】:JavaScript: If condition based on div IDJavaScript:如果条件基于 div ID
【发布时间】:2017-05-24 09:52:10
【问题描述】:

我正在为一个学校项目制作一个网络应用程序,并且我正在为我的“.tile”类上的点击事件创建一个函数。在 tile 类中,我有 7 个 tile ID; “#tile1”、“#tile2”等如果(ID ==“#tile2”){}。这样的事情可能吗,还是我需要为每个单独的图块制作功能?函数的其余部分很好,我只需要 if 语句的帮助。抱歉,如果这真的很简单,我是新手。

【问题讨论】:

  • 可以使用常用方法,显示事件处理代码
  • 是的,这是可能的,而且你在正确的轨道上,所以我建议你试一试并尝试做到。
  • get an element's id的可能重复
  • 可以使用 att = $(this).attr('id'); 获取当前元素属性if(att=== 'tile1'){ }elseif(att=== 'tile2'){...} ..

标签: javascript jquery html function web-applications


【解决方案1】:

这是可能的。你可以这样做:

$('.tile').click(function(){
    var id = $(this).attr('id');
    if(id === 'tile2'){
       // do smthing
    } else if(id === 'tile3'){

    } ...
});

其中 $(this) 是被点击的元素

您还可以使用 switch case 在您的 id 之间切换。请参阅文档https://www.w3schools.com/js/js_switch.asp

【讨论】:

    【解决方案2】:

    您可以在.tile 类上附加点击事件监听器,并通过$(this).attr('id') 获取“点击”磁贴的 id,请参阅以下内容:

    $(".tile").click(function(){
      let id = $(this).attr('id');
      console.log("Clicked on div: " + id);
      if(id === "tile3")
        console.log("Yes, it's the third");
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <p>What's the third?</p>
    <div id="tile1" class="tile">tile 1</div>
    <div id="tile2" class="tile">tile 2</div>
    <div id="tile3" class="tile">tile 3</div>
    <div id="tile4" class="tile">tile 4</div>
    <div id="tile5" class="tile">tile 5</div>

    希望对你有帮助,再见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      相关资源
      最近更新 更多