-
抱歉标题太差了。
-
我已经为我的变量分配了选择器,并将其与
attr()
链接,然后在另一个地方将其与text()
链接,但text()
部分不起作用,我真的不明白为什么。
有人能帮我一下是什么原因导致它不起作用吗?
var alertMsg = "";
var $closestLabel = $(this).closest('label');
$(".credit-error-msg").each(function(){
// console.log($(this).closest('label').text());
if($closestLabel.attr('for') != "billing-unit"){ //works here
if($(this).text() != ""){
alertMsg += $(this).closest('label').text().toUpperCase() + "n"; //doesn't work here that I have to write the whole thing out
val = false;
}
}
});
查看我将选择器var $closestLabel = $(this).closest('label');
分配到的位置当我在if语句中使用$closestLabel
时,这非常有效,但当它在第二个if语句中时,我必须使用$(this).closest('label').text()
,因为$closestLabel.text()
不起作用。
但正如我所看到的,$(this).closest('label').text()
==$closestLabel.text()
和$(this).closest('label').attr()
==$closestLabel.attr()
不是吗?
提前感谢您的帮助。
在您的情况下,each
中的$(this).closest('label')
与var $closestLabel = $(this).closest('label');
不同
CCD_ 16内部的CCD_ 15是选择器CCD_
而此时的this
:var $closestLabel = $(this).closest('label');
可能是window
对象。
我之所以这么说,可能是因为我不知道你在代码的哪里,在哪个范围内调用这个片段。