<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>
我已经在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');
});
解决方法:
试试这个:您已经在ul下为lis注册了click事件处理程序.因此,只需读取$(this).data(‘id’)即可获取所单击li的data-id,而不是从其父元素即e.currentTarget.parentElement中读取它.
var $list = $(document).find("ul").first();
$list.on("click", "li[data-action=\"open\"]", function (e) {
var elemId =$(this).data('id');
alert(elemId);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。