我正在使用jQuery。我需要获取所点击项目的data-id
并将其传递给网络服务。如何获取data-id
属性?
我的HTML看起来像这样:
<ul class="nav nav-pills">
<li class="onselectedCategory" data-id="12"><a href="javascript:;;">12</a></li>
<li class="onselectedCategory" data-id="23"><a href="javascript:;;">23</a></li>
<li class="onselectedCategory" data-id="34"><a href="javascript:;;">34</a></li>
<li class="onselectedCategory" data-id="45"><a href="javascript:;;">45</a></li>
<li class="onselectedCategory" data-id="56"><a href="javascript:;;">56</a></li>
</ul>
我的JavaScript看起来像这样:
events{
"click li.onselectedCategory": "selectCategory"
}
selectCategory: function(event){
event.preventDefault();
var _selectedValue = $(this).data('id');
alert("Selected Value : "+_selectedValue);
},
答案 0 :(得分:6)
试试这个:
$(".onselectedCategory").click(function(){
alert($(this).data("id"));
});
onselectedCategory
是一个类,因此您需要使用.
引用它,而不是使用用于idp的#
>
答案 1 :(得分:3)
将#data-id
更改为data-id
$(".onselectedCategory").click(function(){
alert($(this).attr("data-id"));
})
编辑主干
selectCategory: function(event){
event.preventDefault();
var selectedValue = "";
if($(e.target).is('li')) {
selectedValue =$(e.target).attr('data-id');
} else {
selectedValue =$(e.target).parent().attr('data-id');
}
alert("Selected Value : "+ selectedValue);
},
答案 2 :(得分:0)
onselectedCategory
类必须位于标签<a>
<li><a class="onselectedCategory" data-id="12" bla,bla,bla...</li>
$(".onselectedCategory").click(function(){ alert($(this).data("id")); });