jQuery里面这个

时间:2017-02-09 14:33:26

标签: jquery

我有以下jQuery不起作用,我认为答案可能是因为我在“this”中使用“this”。

  $('.field-name-field-choose-a-service input:checked').each(function() {
    var unitname = $(this).closest('.form-item').text();
    $('.field-name-field-choose-a-package .form-type-checkbox').each(function() {

      if($(this).children('.views-field-field-bookable-unit-type span').text() == unitname) {
        $(this).show();

      } 
    });

  });

如何让“this”仅适用于当前函数中发生的事情?

对不起,如果这个不够详细,我是jQuery的新手!

2 个答案:

答案 0 :(得分:2)

当你进入另一个.each()的上下文时,"这个"的含义。其中的变化。如果您需要引用"外部",请在变量中捕获它:

$('.field-name-field-choose-a-service input:checked').each(function() {
    var outerThis = this;
    var unitname = $(this).closest('.form-item').text();
    $('.field-name-field-choose-a-package .form-type-checkbox').each(function() {
        // "this" refers to the "inner this"
        // "outerThis" refers to the "outer this"
    });
});

});

答案 1 :(得分:0)

尝试将#nav { float: left; width: 15%; min-width: 120px; } #content{ float: right; } #bar { display: block; background-color: #D2DEE4; } 元素存储在变量中,然后使用变量而不是使用$(this)