-1

我试图创造一种图片相对论的东西(不知道该怎么称呼它)。

它将做的是在图像集中创建水果的缩略图。我认为我在 if 语句中提出了一些问题。

这是HTML代码:

<div id="imageholder">
    <img src="images/1.png" id="img1" thumbnail="images/orange.png" title="orange"/>
    <img src="images/2.png" id="img2" thumbnail="images/apple.png" title="apple"/>
    <img src="images/3.png" id="img3" thumbnail="images/orange.png" title="orange"/>
    <img src="images/4.png" id="img4" thumbnail="images/lime.png" title="lime"/>
    <img src="images/5.png" id="img5" thumbnail="images/banana.png" title="banana"/>
</div>

<input type="submit" name="check" id="check" value="check" />

<ul id="thumb"></ul>

这是jQuery代码:

function checkit(){
    var list = $('#thumb');
    $("#imageholder img").each(function() {
        var titleset = this.attr('title');
        var imageset = this.attr('thumbnail');
        var existing_item = $('#list_item_' + titleset);
        if (existing_item.length < 1) {
            var new_item = $('<li />');
            new_item.attr('id', 'list_item_' + titleset);
            new_item.html('<div class="summarytitle">' + titleset + '</div><img src="' + imageset + '" class="swatch_s" />');
            list.append(new_item);
        } else if (existing_item.length > 1) {
            $('#list_item_' + titleset).attr('src', imageset);
            $('#list_item_' + titleset).text(titleset);
        }
    });
}

$("#check").click(function(){
    checkit();
};
4

1 回答 1

2

this是 JavaScript 对象,而不是jQuery 对象。您需要使用$(this). 试试这个:

function checkit(){
    var list = $('#thumb');
    $("#imageholder img").each(function() {
        var titleset = $(this).attr('title');
        var imageset = $(this).attr('thumbnail');
        var existing_item = $('#list_item_' + titleset);
        if (existing_item.length < 1) {
            var new_item = $('<li />');
            new_item.attr('id', 'list_item_' + titleset);
            new_item.html('<div class="summarytitle">' + titleset + '</div><img src="' + imageset + '" class="swatch_s" />');
            list.append(new_item);
        } else if (existing_item.length > 1) {
            $('#list_item_' + titleset).attr('src', imageset);
            $('#list_item_' + titleset).text(titleset);
        }
    });
}

$("#check").click(function(){
    checkit();
}); //you were missing a ")" here too
于 2012-05-29T16:41:35.447 回答