我有一个HTML,如下所示
<div id="activeui4" class="activateUiHTML" data-role="collapsible">
<div class="Topping-and-Crusting-section">
<a style="display:block" id="4" vendor_items_id="4" class="btn btn-sm topp btn-sm-active" data-count="1">topping <span>1</span></a>
<a style="display:block" id="4" vendor_items_id="4" class="btn btn-sm crust " data-count="0"> crust <span></span></a>
</div>
</div>
我正在尝试检索类data-count
btn btn-sm topp btn-sm-active
我试过这样:
var count = $(".activateUiHTML div#"+id_attr_val+".Topping-and-Crusting-section").find(".top").attr('data-count');
alert(count);
但我回来了undefined
。
答案 0 :(得分:3)
var count = $(".activateUiHTML .Topping-and-Crusting-section").find(".topp").data('count');
alert(count);
您的班级选择'top'拼写错误。
演示:
答案 1 :(得分:1)
你错过了拼写类find('。top')没有这样的元素而是使用.find('。topp')
使用jquery的数据功能
var count = $(".activateUiHTML div#"+id_attr_val+".Topping-and-Crusting-section").find(".top").data('count');
答案 2 :(得分:0)
以下是代码:
var count = $("#activeui4 a.btn-sm-active").attr('data-count');
答案 3 :(得分:0)
这是你在这一行中的问题
class="btn btn-sm topp btn-sm-active"
在您的javascript中,您将其称为.top
,但在您的HTML中,您有.topp
.find(".top")
答案 4 :(得分:0)
原因: 你使用错误的选择器。班级名称是&#34; topp&#34;而不是&#34; top&#34;。
所以决议是改变班级名称
var count = $(".activateUiHTML div#"+id_attr_val+".Topping-and-Crusting-section").find(".topp").data('count');
未来问题: 有2个同类的锚和#34;顶部&#34;所以它将从第一个元素返回数据计数 找到。所以要具体。在&#34; div&#34;
中使用id或某些特定的类