我试图从同一函数中指定类的元素中获取信息,但找不到该类:
HTML:
<style>
.class-b { background: red; }
</style>
<div class="class-a">Hello!</div>
<div class="class-a">Hola!</div>
<div class="class-a">Bonjour!</div>
<button class="clicker">Click</button>
JS/jQuery:
var $b = $(".class-b");
$(".clicker").click(function() {
$(".class-a:first").addClass("class-b");
console.log($b.html());
});
当我应该在 console.log
中收到 Hello!
时,这不会返回任何内容。于是我想,也许函数还没有完成,类还没有渲染,因此找不到。因此,我从函数中删除了日志记录并将其插入回调中:
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());
});
关于javascript - 新类jquery无法找到最近添加的类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780571/