<div style="display: block;" class="Topping-details" id="4">
<section id="topping_tsection_4">
<aside>
<h6 class="tdHeading">Quantity 1</h6>
<section class="secclass"><a topping_id="1" topp_name="Honey with Chocolate Sauce 10 ML" top_price="25" class="tpActive" >Honey with Chocolate Sauce 10 ML</a>
</section>
<section class="secclass"><a topping_id="2" topp_name="Honey with Carmel 10 ML" top_price="25" class="tpActive" >Honey with Carmel 10 ML</a>
</section>
</aside>
<aside>
<h6 class="tdHeading">Quantity 2</h6>
<section class="secclass"><a qt_val="111" top_price="25" >Honey with Chocolate Sauce 10 ML</a>
</section>
<section class="secclass"><a qt_val="111" top_price="25" class="tpActive">Honey with Carmel 10 ML</a>
</section>
</aside>
</section>
</div>
嗨,
这是我的HTML响应,点击按钮我试图获取最后一个部分的top_price的属性值
我试过这种方式,但它没有工作
$(document).on("click", ".work", function() {
var id_attr_val=4;
$(this).find(".Topping-details").find('section#topping_tsection_'+id_attr_val+' aside:last').find('.tpActive').each(function () {
var top_price = $(this).attr("top_price");
alert(top_price);
});
});
答案 0 :(得分:2)
因为.Topping-details
不是点击按钮(.work
)的后代,您需要进行文档范围搜索以查找这些元素,而不是尝试在点击的元素中找到这些元素
$(".Topping-details").find('section#topping_tsection_' + id_attr_val + ' aside:last').find('.tpActive').each(function () {
var top_price = $(this).attr("top_price");
console.log(top_price);
});
演示:Fiddle
但是因为元素的Id必须是唯一的,所以你可以使用id-selector
来搜索目标元素$('#topping_tsection_' + id_attr_val + ' aside:last').find('.tpActive').each(function () {
var top_price = $(this).attr("top_price");
console.log(top_price);
});
演示:Fiddle