【问题标题】:JQuery: how to use each in a result of find()?JQuery:如何在 find() 的结果中使用每个?
【发布时间】:2013-04-03 13:16:07
【问题描述】:
$.get(url, function(data){
    $("<div>" + data + "</div>").find('.list [class^=data]').each(function(){
        if($(this).is("[class^=dataitem]")){
            //code for dataitem
        }
        else{
            //code for not dataitem
        }
    });
});

使用 get 函数,我使用 url 页面的代码生成一个字符串变量。 在这个变量中,我找到了标签,标签的子标签为 class=list,其类以“data”开头,并且对于这些中的每一个,控制类是否以“dataItem”开头,如果是,则应用这些标签的代码。 为什么它不起作用?

【问题讨论】:

  • 我不知道!你的控制台有什么错误吗?!您的请求究竟返回了什么?
  • 你怎么知道它不起作用?请向我们展示一些示例输入、您期望的输出(并让您的脚本实际执行某些操作)以及您得到的结果。

标签: javascript jquery html


【解决方案1】:

试试这个:

$.get(url, function(data){
     var YourFindElement = $("<div>" + data + "</div>").find('.list [class^=data]');
       $.each(YourFindElement , function (i, rowValue) {
          if($(this).hasClass("dataitem")){
              //code for dataitem
          }
          else{
            //code for not dataitem
          }
       });
});

【讨论】:

    【解决方案2】:

    简短的回答。因为您的选择不会返回任何对象。这可能有几个原因

    你可以把代码改成

    $.get(url, function(data){
        $("<div>" + data + "</div>").find('.list [class^="data"]').each(function(){
            if($(this).hasClass("dataitem")){
                //code for dataitem
            }
            else{
                //code for not dataitem
            }
        });
    });
    

    这将消除您的第一个问题(您需要将属性值包装在 qoutes 中)。然而,更可能的原因是您正在查看属性值,所以 class="hover dataitem" 将不匹配,而 class="dataitem hover" 将匹配。因此,我建议您更改为

    $.get(url, function(data){
        $("<div>" + data + "</div>").find('.list .data').each(function(){
            if($(this).hasClass("dataitem")){
                //code for dataitem
            }
            else{
                //code for not dataitem
            }
        });
    });
    

    这将要求您将 data 类添加到有问题的元素中,而不仅仅是 dataitem

    【讨论】:

    • 您不需要将属性值用引号括起来,除非它们包含无效字符(如引号、右括号等)。
    猜你喜欢
    • 2021-10-23
    • 2018-03-30
    • 1970-01-01
    • 2015-08-25
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多