我有以下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的新手!
答案 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)