0

我想<div class="thumbnail">单独计算所有图像。

我的代码:

    <div class="thumbnail">     

    <a rel="first" href="#">
        <div>
        <div></div>
        <img src="...">
        </div>
    </a>

    <div class="hidden-fb"> <!-- // CSS display: none -->                                                                                                 
        <a rel="first" href="#">
            <div>
            <div></div>
            <img src="...">
            </div>
        </a>                                               
    </div><!-- .hidden-fb -->

</div><!-- .thumbnail -->

<h2>Contains 2* images </h2>

我试试这个

var featureImageCount = $('div.thumbnail img').length;    
$('div.thumbnail').after('<div><h1>' + featureImageCount + ' Images</h1></div>');

但我只得到所有 div “(6)”
我可以用 jquery 做到这一点,图像的数量*会自动填写吗?
或者 jquery 可以按不同的rel属性计算项目吗?

jsFiddle

谢谢奥尼
_

4

2 回答 2

2

您需要单独查看每个.thumbnail元素,使用.each. 然后,您可以$(this)在回调中使用来访问实际元素。从那里,您可以找到所有特定的后代<img>元素。从那里,您可以.after像尝试那样使用$(this).

$(document).ready(function () {
    $("div.thumbnail").each(function () {
        var $this = $(this),
            count = $this.children("a").children("img").length;
        $this.after("<div><h1>" + count + " Images</h1></div>");
    });
});

http://jsfiddle.net/yCazz/8/

于 2013-02-26T18:46:53.973 回答
0
$('div.thumbnail').each(function () {

    var $this = $(this),
        count = $this.find('img').length;

    $this.after('<h2>', {
        text: 'Contains (' + count  + '*) image' + (count == 1 ? '' : 's')
    });

});
于 2013-02-26T18:48:06.547 回答