无法在jquery变量中保存特定的td文本

时间:2014-04-18 18:17:06

标签: jquery

遇到var longlat存储问题。在这个例子中,我想要var longlat = 40.0989,-83.1615,但我一直在控制台中得到一个空字符串。

<table id="datatable">
    <tbody>
        <tr id="83">
            <td><span class="label label-primary dtMap">Map</span></td>
            <td>text</td>
            <td>text</td>
            <td class="latlong">40.0989, -83.1615</td>
            <td>text</td>
            <td>text</td>
        </tr>
        ... more entries similar to the above
    </tbody>
</table>

JS:

$('#datatable').on('click', '.dtMap', function () {

    var data = {'activity_id': $(this).parents('tr').attr('id')};

    var latlong = $(this).find('.latlong').text();
    console.log(latlong);

    ... some more stuff below 
});

2 个答案:

答案 0 :(得分:2)

您需要使用:

var latlong = $(this).parent().siblings('.latlong').text();

因为.latlong是点击td范围的父.dtMap的兄弟。


您还可以使用.closest()

var latlong = $(this).closest('tr').find('.latlong').text();

<强> Fiddle Demo

答案 1 :(得分:0)

这应该有效:

var latlong = $(this).parent().find('.latlong').html();