【问题标题】:switch statement with :contains condition带有 :contains 条件的 switch 语句
【发布时间】:2019-06-12 21:12:40
【问题描述】:

我想测试某个元素是否在 switch 语句中包含一些字符串。我的代码类似于以下:

jQuery("#selector").on( "ajaxSuccess", function() {
    var myVar = jQuery(this).is(':contains("some string")');
    switch (myVar){
        case ':contains("some string")': jQuery([do something here]);
        break;
    }
}); 

但它不起作用。我做错了什么?

【问题讨论】:

  • 您能否描述一下您的需求 - 您可能不想要 switch 语句,但除非您创建 minimal reproducible example,否则我们不会知道
  • 您只能将常量与case 一起使用 - 所以它正在寻找提供的字符串文字
  • switch 语句被优化为只做相等比较;你必须使用 if/else 来做你想做的事
  • 除了明显的语法问题之外,您为什么需要这样做?您的 .is(':contains("some string")') 已经强制执行条件,因此 switch 是多余的。
  • @mplungjan 你说得对,我本来打算提供更多背景信息,但杰里米还是想通了。

标签: javascript jquery if-statement switch-statement


【解决方案1】:

试试这个:

$(this).text().includes("some string")

console.log( $("div").text().includes("amet") )
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    相关资源
    最近更新 更多