来自JQuery的奇怪消息-假设它不是'未找到

Weird Message from JQuery - Assuming it wasn't found

本文关键字:JQuery 消息 假设 来自      更新时间:2023-09-26

我有一些类似的HTML:

<div class="form-group">
    <label class="col-sm-3 control-label"> Carousel </label>
    <div class="col-sm-5">
        <select class="form-control carouselUser" name="aisis_options[carousel]">
            <option value="Please Select a Role">Please Select a Role</option>
            <option value="Administrator">Administrator</option>
            <option value="Editor">Editor</option><option value="Author">Author</option> 
            <option value="Contributor">Contributor</option>
            <option value="Subscriber">Subscriber</option>
        </select>
    </div>
</div>

然后我尝试做这样的事情:

$('.carouselGlobal').change(function(){
    console.log($('.form_group .col-sm-5 .carouselUser'));
    $('.form_group .col-sm-5 .carouselUser').hide();
});

我更感兴趣的是console.log(),它吐出:

[prevObject: x.fn.x.init[1], context: document, selector: ".form_group .col-sm-5 .carouselUser", jquery: "1.10.2", constructor: function…]

我不知道这意味着什么,所以我认为它找不到有问题的物体。

你想做什么

页面上的一些地方是我向您展示的HTML片段,当.carouselGlobal更改它时(HTML片段)需要隐藏。

问题

我在控制台中收到了一条奇怪的消息,我认为这是jquery说的"我找不到对象bla"。

那么我做错了什么?从我的想法来看,这是对的。。。。

甚至做一些类似的事情:

$('.carouselGlobal').change(function(){
    console.log($('.carouselUser').parent('.form_group'));
    $('.carouselUser').parent('.form_group').hide();
});

不起作用。。。

您在控制台中看到的"奇怪"输出是正在序列化的jQuery对象本身。无论您使用的选择器是否找到任何元素,都会返回该对象。

如果您想发现是否找到任何元素,请使用length属性:

$('.carouselGlobal').change(function(){
    console.log($('.form_group .col-sm-5 .carouselUser').length); // 0 = not found
    $('.form_group .col-sm-5 .carouselUser').hide();
});

如果您想查看有关元素的特定信息,只需修改console.log即可显示。