jquery .find()没有找到类

时间:2016-08-17 09:06:16

标签: jquery

我的html代码的一部分是这样的:

 <div id="photo-list-container" class="row">
            <div class="col-xs-4 col-md-3">
                    <div class="photo-gallery-holder mar-2x" data-toggle="modal" data-target=".bs-example-modal-lg" data-id="{{ $photo->id }}" data-photo-filename="{{ $photo->id }}" data-tags="{{ htmlspecialchars(json_encode($photo->tags)) }}">
                        <img class="img-responsive" src="{{ $photo->thumb_url }}" alt="{{ $photo->title }}" />
                    </div>
            </div>
    </div>

我尝试用jquery做的事情:

$('#photo-list-container').find('.photo-gallery-holder').each(function() {
...
});

OR

$('#photo-list-container .photo-gallery-holder').each(function() {

它始终没有找到。这是为什么?我正在搜索的div嵌套在photo-list-container中就好了吗?

请帮忙。感谢。

4 个答案:

答案 0 :(得分:2)

$('#photo-list-container').find('#photo-list-container')会在#photo-list-container内查看#photo-list-container。没有什么可以找的。

除此之外,id应该始终是唯一的。因此,无论如何都不需要findeach

如果您想查找父.photo-gallery-holder内的所有#photo-list-container,可以使用find。但我希望使用直接选择器。

$('#photo-list-container').find('.photo-gallery-holder').each(function() {
    // ...
});

// or better
$('#photo-list-container .photo-gallery-holder').each(function() {
    // ...
});

答案 1 :(得分:1)

您使用#它是id id选择器,您必须使用.类选择器,如下所示

$('#photo-list-container').find('.photo-gallery-holder').each(function() {
...
});

$('#photo-list-container .photo-gallery-holder').each(function() {
    ...
});

答案 2 :(得分:0)

将行$('#photo-list-container').find('#photo-list-container').each(function() {更改为$('#photo-list-container').find('.photo-list-container').each(function() {

即将"#"更改为"."

#表示按ID

定位元素

.(dot)表示按类名定位

在此链接上找到更多jQuery选择器http://www.w3schools.com/jquery/jquery_ref_selectors.asp

发布修改

使用$('#photo-list-container .photo-list-container').each(function() {

检查小提琴https://jsfiddle.net/8fn13f75/

答案 3 :(得分:0)

您必须添加带有Id元素的类,如下所示。 它将首先找到带有Id的元素,然后查找类并从HTML中找到匹配元素

$('#photo-list-container .photo-gallery-holder').each(function(a,b) {
        .....
});