HTML细分:
<ul id="nav_des">
<li class="cur">test1<a class="shopping2" data-category-id="1">12</a></li>
<li>test2<a class="shopping2" data-category-id="2"></a></li>
<li >test3<a class="shopping2" data-category-id="3"></a></li>
<li style="margin-bottom:25px; background:none"></li>
</ul>
我想得到&#34;&#34;的文本()其中&#34; data-category-id&#34;是1(即它是12)。我尝试使用这样的属性选择器但失败了。所以我只使用&#34;用于&#34;循环以获得价值,但我不认为这是一个好方法。怎么解决?感谢
var category_id =1
$(".shopping2").("data-category-id='"+category_id+"'").show()
答案 0 :(得分:1)
您可以将方括号中的属性(attribute selector)包裹起来:
$(".shopping2[data-category-id='"+category_id+"']").show();
这将选择其类为“shopping2”且其data-category-id
等于category_id
变量的元素。
答案 1 :(得分:1)
试试这个:您可以使用 Attribute Selector 来选择具有特定属性值的元素。
var category_id =1
$(".shopping2[data-category-id='"+category_id+"']").show();
答案 2 :(得分:0)
您可以使用 attribute-equals-selector 按元素值获取元素:
$(".shopping2[data-category-id='"+category_id+"']").show();
<强> Working Demo 强>