首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有更好的方法吗?(多个if语句)

有更好的方法吗?(多个if语句)
EN

Stack Overflow用户
提问于 2014-04-17 15:54:29
回答 2查看 54关注 0票数 1

我试图让jQuery检查一个链接是否有一个特定的ID,这个id只会在最后一个数字之前改变,如果这样的语句的话,是否有一种方法可以在每次检查时迭代一次设置的金额而不执行手动操作呢?

有更好的方法吗?

我对jQuery/Javascript非常陌生,但这在我看来是不对的。

代码语言:javascript
复制
$(document).ready(function() {

  $(document).on('click', '.add-to-train', function(event) {

    var inspectedLink = $('a.inspected');

    if ($('a').find( '.inspected' )) {

      console.log( inspectedLink );

      if(inspectedLink.is('#product-1')) {
        console.log('Send info for Product 1');
      }
      if(inspectedLink.is('#product-2')) {
        console.log('Send info for Product 2');
      }
      if(inspectedLink.is('#product-3')) {
        console.log('Send info for Product 3');
      }
      if(inspectedLink.is('#product-4')) {
        console.log('Send info for Product 4');
      }
      if(inspectedLink.is('#product-5')) {
        console.log('Send info for Product 5');
      }
      if(inspectedLink.is('#product-6')) {
        console.log('Send info for Product 6');
      }
      if(inspectedLink.is('#product-7')) {
        console.log('Send info for Product 7');
      }
    }

  });

});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-17 16:00:33

您可以直接从元素ID获取数字,不需要检查每个数字。

代码语言:javascript
复制
$(document).ready(function () {

    $(document).on('click', '.add-to-train', function (event) {

        var inspectedLink = $('a.inspected');

        if ( inspectedLink.length ) {
            var id = inspectedLink.prop('id').split('-').pop();
            console.log('Send info for Product ' + id);
        }
    });
});
票数 4
EN

Stack Overflow用户

发布于 2014-04-17 15:57:27

将值放入对象中,使用元素的id作为标识符:

代码语言:javascript
复制
var valsToLog = {
    "product-1":"Send info for Product 1", 
    "product-2":"Send info for Product 2"
} // etc

然后,当您需要log时,或者您需要对该值做什么时:

代码语言:javascript
复制
console.log(valsToLog[inspectedLink.prop('id')])

注意,您可能首先要运行一次检查,以确保id作为标识符存在于对象中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23137872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档