Javascript 新类jquery找不到具有最近添加的类的元素
我试图从同一函数中给定了类的元素中获取信息,但未找到该类: HTML: 当我应该得到Javascript 新类jquery找不到具有最近添加的类的元素,javascript,jquery,css,dom,Javascript,Jquery,Css,Dom,我试图从同一函数中给定了类的元素中获取信息,但未找到该类: HTML: 当我应该得到Hello时,它不会返回任何内容在我的控制台中.log。然后我想,可能函数还没有完成,类还没有呈现,因此找不到。因此,我从函数中删除了日志记录,并将其插入回调: var $b = $(".class-b"); function c_log() { console.log($b.html()); } $(".clicker").click(function() { $(".class-a:first
Hello时,它不会返回任何内容代码>在我的控制台中.log
。然后我想,可能函数还没有完成,类还没有呈现,因此找不到。因此,我从函数中删除了日志记录,并将其插入回调:
var $b = $(".class-b");
function c_log() {
console.log($b.html());
}
$(".clicker").click(function() {
$(".class-a:first").addClass("class-b");
c_log();
});
但仍然没有任何回报。我是否忽略了DOM中的某些内容?您的$b
是此时所有类名为“.class-b”的元素。仅仅因为您给了一个新元素“.class-b”的类名,并不意味着$b
将被更新
只需重置您的$b
$(".clicker").click(function() {
$(".class-a:first").addClass("class-b");
$b = $('.class-b');
console.log($b.html());
});
错误的是,$b
是在之前定义的。class-a:首先
被赋予类.class-b
,因此$b.html()
是未定义的,因为.class-b
中没有元素。添加类时,需要重新定义$b
:
var $b = $(".class-b");
function c_log() {
console.log($b.html());
}
$(".clicker").click(function() {
$(".class-a:first").addClass("class-b");
$b = $(".class-b");
c_log();
});
当你写下:
var $b = $(".class-b");
它实际上是将任何当前的b
放入$b
变量中。当您稍后在代码中使用$b
时,它不会回顾性地检查新添加的内容。在单击回调中放上一行,每次都会重新检查它,您是金色的。$b怎么知道,在声明之后,您会向元素添加一个名为“class-b”的类?您需要在click事件中重新定义b。简而言之,$b不会自动更新。
var $b = $(".class-b");
function c_log() {
console.log($b.html());
}
$(".clicker").click(function() {
$(".class-a:first").addClass("class-b");
$b = $(".class-b");
c_log();
});
var $b = $(".class-b");