1
<script type="text/javascript">
$(".inventory-notes").bind("click", function() {
    if($(this).text().length > 0) {
        alert($(this).text());
        alert($(this).closest(".inventory-notes").children().text());
    }
});
</script>

例の表

<table id="inventory" class="table">
    <thead>
        <tr>
            <th>Item</th>
            <th>Value</th>
            <th>Usage</th>
            <th>Notes</th>
        </tr>
    </thead>
    <tbody>
        <tr class="items">
            <td>Hatchet</td>
            <td>24,000 Gold</td>
            <td>Woodcutting</td>
            <td><div class="inventory-notes"><div id="299"><img src="addnotes.png"></div></div></td>
        </tr>
    </tbody>
</table>

の子divから値299を取得するにはどうすればよいinventory-notesですか?テーブルには、実際には、それぞれがランダムIDを含む少なくとも1,000行のアイテムが含まれています。

jQuery 1.6.2を使用しているため、.on() function.

4

1 に答える 1

1

jQuery 1.6.2を使用しているので、次を使用します.delegate

$("#inventory").delegate(".inventory-notes", "click", function(){
    var id = $(this).find("div").prop("id");
});

1,000以上の行があるため、イベントを実際の行にバインドしたくない場合は、1,000以上のハンドラーが生成されます。

于 2012-06-22T01:29:41.687 に答える