在MVC应用程序中,我有一个列表:
<ul>
<li class="list-item" data-action="open" data-id="1"><form>...A..<form/></li>
<li class="list-item" data-action="open" data-id="2"><form>...B..<form/></li>
<li class="list-item" data-action="open" data-id="3"><form>...C..<form/></li>
</ul>
如何从所选的li?中获取data-id属性?
我在Jquery中尝试过这段代码:
this.$list = this.find("ul").first();
this.$list.on("click", "[data-action=\"open\"]", function (e) {
var x = e.currentTarget.parentElement;//it brings me all the li elements , not just the one that was selected
var elem=x.data('id');
});
答案 0 :(得分:3)
试试这个:您已为li
下的ul
注册了点击事件处理程序。因此,请阅读$(this).data('id')
以获取所点击data-id
的{{1}},而不是从其父元素中读取li
注意: - 我在下面的代码中删除了e.currentTarget.parentElement;
,因为我没有引用它。
this
&#13;
var $list = $(document).find("ul").first();
$list.on("click", "li[data-action=\"open\"]", function (e) {
var elemId =$(this).data('id');
alert(elemId);
});
&#13;