我试图从'a'元素的click事件中获取不同元素的值。 鉴于代码:
<tr data-id="20">
<div class="row">
<td>
<div class="btn-group">
<a data-checked="false" class="btn btn-info btn-xs oiCmd-btn oiCmd-btn-paid-toggle">
<span class="glyphicon glyphicon-unchecked"></span>
</a>
<a class="btn btn-primary btn-xs oiCmd-btn oiCmd-btn-mod-price">
<span class="glyphicon glyphicon-usd"></span>
</a>
</div>
<span>...</span>
</td>
<td>...</td>
<td>...</td>
<td>$<em class="oiPrice">50.00</em>
</td>
</div>
</tr>
我需要从点击事件'.oiCmd-btn-paid-toggle'获取oiPrice的值50.00和来自'tr'的data-id的值20。 我不知道我用.parent和.child尝试了很多东西,但我一直都弄错了。
答案 0 :(得分:1)
您的HTML无效,tr不能将div作为孩子
然后
$('.oiCmd-btn-paid-toggle').click(function () {
var $tr = $(this).closest('tr');
var oiPrice = $.trim($tr.find('.oiPrice').text());
var id = $tr.data('id');
})
演示:Fiddle
答案 1 :(得分:0)
var dataId = $("tr").attr("data-id");
您可以根据需要更改选择器$("tr")
。
var oiPrice = $(".oiPrice").html();
答案 2 :(得分:0)
由于我不知道完整的代码是什么,这可能适用于您的情况,也可能不适用。
来自data-id的表示20:
$("tr[data-id]").attr("id");
来自oiPrice的50:
$(".oiPrice").val();
如果您有许多元素,可以使用.eq(x)进行调整。 希望这有帮助!