-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

thisjQueryオブジェクトではなく、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 に答える